Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Crollo di prestazioni con tabelle innodb

    Ciao, vi sottopongo un problema:

    ho un database in mysql. Questo database sostanzialmente implementa un datawarehouse, quindi in soldoni ha un'unica tabella centrale molto grande e varie piccole tabelle ausiliarie molto piccole.

    Le query che vengono eseguite sono al 99% query di select di grandissime quantità di record sulla tabella centrale, con applicazione di operatori aggregati (sum o count per intenderci) e raggruppamenti.

    Ho usato le innodb.

    Fino a un paio di giorni fa (però non so dire di preciso l'ultima volta che ho provato) tutto funzionava alla grande con prestazioni ottime (o cmq più che sufficienti per le mie aspettative). Oggi ho effettuato un nuovo upload di dati nella tabella centrale passando da 24600 record a circa 27000. Dopo questo upload ho fatto alcune prove e ho constatato con mio sommo disappunto che le prestazioni erano calate in modo impressionante e inaccettabile.

    Ora, non credo che 3000 record in più giustifichino tale calo...inoltre non ho fatto cambiamenti degni di nota nella struttura del database in questi giorni. L'unica cosa che devo segnalare è avevo degli spyware (o virus) è ci ho un po combattuto nel weekend, e alla fine ho installato norton antivirus.

    Non so dire se questo fatto dell'antivirus abbia qualcosa a che vedere.

    In generale cmq avete qualche dritta per ottimizare le prestazioni?

    ciao grazie

  2. #2
    se fai principalmente select e non hai bisogno di transazioni e integrità referenziale passa a MyISAM

    poi cerca il valore di "Key read requests" e "Key reads" dalla query "SHOW STATUS" e posta i risultati.

    Inoltre posta il valore di "key buffer size" e la dimensione totale dei file degli indici del DB

  3. #3
    Uso innodb perchè ho bisogno dei vincoli di integrità perchè è importante che i dati restino consistenti...potrei anche tornare a myisam e cercare di implementare più controlli possibile con php ma ora come ora non me la sento

    rigurdo i parametri che chiedevi: non so se dico stupidaggini ma i parametri key_reads e key_read_requests non riguardano solo myisam? vabbe in ogni caso da show status mi risultano 0 entrambi

    il key_buffer è invece 8388600 (ho usato show variables per ottenerlo giusto?)

    la dimensione degli indici totale non so dove guardarla

    ti posto anche questi parametri anche se non sono sicuro se possono essere utili

    innodb_log_buffer_size 1048576

    Buffer pool hit rate 827 / 1000

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.