GoDaddy Help

We hebben geprobeerd om de pagina zo goed mogelijk voor je te vertalen. De Engelse pagina is ook beschikbaar.

Bekijk langzame MySQL -query's

Je hebt langzame queryregistratie ingeschakeld en hebben nu een logboek om te bekijken. Als je logboekregistratie niet hebt ingeschakeld, kun je hier de stappen vinden .

Het logboek analyseren

Locatie logboek:
/var/log/slow-queries.log
OPMERKING: Als je op deze locatie geen logboek vindt, controleer dan de invoer in je my.cnf en controleer of MySQL opnieuw is gestart nadat de wijziging is doorgevoerd.
Formaat:
# Tijd: 210905 6:33:11 # Gebruiker @ Host: dbuser [dbname] @ hostname [1.2.3.4] # Query_time: 12.116250 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 201565 use dbname; SET tijdstempel = 1409898791; ... LANGZAME VRAAG HIER ...

Het logboek kan overweldigend zijn als je tientallen, zo niet honderden vermeldingen hebt in de bovenstaande indeling. Om het logboek beter leesbaar te maken, gebruik je mysqldumpslow om het logboek te parseren.

mysqldumpslow -r -a /var/log/mysql/mysqld.slow.log
De uitvoer bevat belangrijke informatie zoals tijd , rijen en query 's.
Aantal: 2 Tijd = 20.54s (41s) Vergrendeling = 0.02s (0s) Rijen = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Count: 1 Tijd = 21.74s (21s) Vergrendeling = 0.01s (0s) Rijen = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Count: 1 Time = 23.86s (23s) Vergrendelen = 0.20s (0s) Rijen = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2

Als we naar het bovenstaande voorbeeld kijken, hebben we 1 query die 20-24 seconden heeft geduurd. Dit veroorzaakt problemen met je site, variërend van trage laadtijden tot time -outfouten (eindeloos draaien). De query onderzoekt 12.547.802 rijen. Een grote query (bijv. Select *) die wordt uitgevoerd op een tabel met meer dan 12 miljoen rijen, leidt waarschijnlijk tot een slechte gebruikerservaring. Het optimaliseren van de query (bijv. Selecteer "koffietabellen") of het verkleinen van het aantal onderzochte rijen (bijv. Archiveren van oude gegevens) zal de query versnellen.

Als het logboekbestand groot is, voer je mysqldumpslow uit en sla je de uitvoer op in een bestand. Dit maakt het gemakkelijker om te controleren met andere hulpmiddelen voor bestandsmanipulatie, zoals grep of find .

mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed

Volgende stappen

Na het bekijken van het langzame querylogboek, zou je een goed idee moeten hebben van de problematische query's die opgelost moeten worden. Als je site nog steeds traag werkt met MySQL en veel bronnen gebruikt, moet je MySQL mogelijk optimaliseren om de bronnen van je server beter te gebruiken.

Als je klaar bent met het loggen, moet je ervoor zorgen dat je MySQL langzame query -logboekregistratie uitschakelt . Als je logboekregistratie ingeschakeld laat, worden MySQL -bronnen onnodig leeggemaakt en wordt je schijf mogelijk gevuld (met slechte zoekopdrachten).

GoDaddy Hostingservices

Onze serverexperts kunnen MySQL langzame queryregistratie in-/uitschakelen en MySQL optimaliseren. Voor meer informatie over deze service, onze GoDaddy -gidsen zijn er om te helpen.

Meer informatie

Voor meer informatie over de hostingservices die GoDaddy aanbiedt, zie onzeHostingservices menu .