Rivedi le query MySQL lente
Hai abilitato la registrazione lenta delle query e ora hai un registro da rivedere. Se non hai abilitato la registrazione, puoi trovare i passaggi qui .Analizzando il registro
Posizione del registro:/var/log/slow-queries.log
# Time: 210905 6:33:11 # User @ Host: dbuser [dbname] @ hostname [1.2.3.4] # Query_time: 12.116250 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 201565 use dbname; IMPOSTA timestamp = 1409898791; ... QUERY LENTA ...
Il registro può essere travolgente quando hai dozzine se non centinaia di voci nel formato sopra. Per rendere il log più leggibile, usa mysqldumpslow per analizzarlo.
mysqldumpslow -r -a /var/log/mysql/mysqld.slow.logL'output conterrà informazioni importanti come l' ora , le righe e la query .
Conteggio: 2 Tempo = 20,54 s (41 s) Blocco = 0,02 s (0 s) Righe = 12547802 (0), dbuser [dbuser] @localhost SELEZIONA * DA db_exp_table WHERE site_user_id = '214380' ORDINA PER site_id LIMITE DESC 0,2 Conteggio: 1 Tempo = 21,74 s (21 s) Blocco = 0,01 s (0 s) Righe = 12547802 (0), dbuser [dbuser] @localhost SELEZIONA * DA db_exp_table WHERE site_user_id = '214380' ORDINA PER site_id LIMITE DISCESA 0,2 Conteggio: 1 volta = 23,86 s (23 s) Blocco = 0,20 s (0) Righe = 12547802 (0), dbuser [dbuser] @localhost SELEZIONA * DA db_exp_table WHERE site_user_id = '214380' ORDINA PER site_id LIMITE DESC 0,2
Osservando l'esempio sopra, abbiamo 1 query la cui esecuzione ha richiesto 20-24 secondi. Ciò causa problemi con il tuo sito che vanno da tempi di caricamento lenti a errori di timeout (rotazione senza fine). La query sta esaminando 12.547.802 righe. Una query di grandi dimensioni (ad es. Seleziona *) eseguita su una tabella con più di 12 milioni di righe potrebbe risultare in un'esperienza utente scadente. Ottimizzare la query (es. Selezionare "tavolini") o ridurre le righe esaminate (es. Archiviare i vecchi dati) velocizzerà la query.
Se il file di registro è di grandi dimensioni, esegui mysqldumpslow e salva l'output in un file. Questo renderà più facile la revisione con altri strumenti di manipolazione dei file come grep o find .
mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed
Passaggi successivi
Dopo aver esaminato il registro delle query lente, dovresti avere una buona idea delle query problematiche che devono essere risolte. Se il tuo sito è ancora lento con MySQL che utilizza risorse elevate, potrebbe essere necessario ottimizzare MySQL per utilizzare al meglio le risorse del server.
Una volta terminato con il registro, assicurati di disabilitare la registrazione lenta delle query MySQL . Lasciando la registrazione abilitata, le risorse MySQL saranno esaurite inutilmente e il disco verrà potenzialmente riempito (con query errate).
Servizi di hosting GoDaddy
I nostri esperti di server possono abilitare/disabilitare la registrazione lenta delle query MySQL e ottimizzare MySQL. Per saperne di più su questo servizio, le nostre guide GoDaddy sono qui per aiutarti.