GoDaddy Hjælp

Vi gjorde vores bedste med oversættelsen af denne side til dig. Siden findes også på engelsk.

Gennemse langsomme MySQL -forespørgsler

Du har aktiveret langsom logning af forespørgsler og har nu en log til gennemgang. Hvis du ikke har aktiveret logning, kan du finde trin her .

Analyse af loggen

Logplacering:
/var/log/slow-queries.log
BEMÆRK: Hvis du ikke finder en log på denne placering, skal du bekræfte indtastningen i din my.cnf, og at MySQL blev genstartet, efter ændringen blev udført.
Format:
# Tid: 210905 6:33:11 # Bruger @ 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 tidsstempel = 1409898791; ... LANGT SPØRGSMÅL HER ...

Loggen kan være overvældende, når du har snesevis hvis ikke hundredvis af poster i ovenstående format. For at gøre loggen mere læselig skal du bruge mysqldumpslow til at analysere loggen.

mysqldumpslow -r -a /var/log/mysql/mysqld.slow.log
Outputtet indeholder vigtige oplysninger som tid , rækker og forespørgsel .
Tælling: 2 Tid = 20,54s (41s) Lås = 0,02s (0s) Rækker = 12547802 (0), dbuser [dbuser] @localhost VÆLG * FRA db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Count: 1 Tid = 21.74s (21s) Lås = 0.01s (0s) Rækker = 12547802 (0), dbuser [dbuser] @localhost VÆLG * FRA db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Count: 1 Time = 23,86s (23s) Lås = 0,20s (0s) Rækker = 12547802 (0), dbuser [dbuser] @localhost VÆLG * FRA db_exp_table WHERE site_user_id = '214380' BESTIL PÅ site_id DESC LIMIT 0,2

Når vi ser på eksemplet ovenfor, har vi 1 forespørgsel, der har taget 20-24 sekunder at køre. Dette medfører problemer med dit site, lige fra langsomme indlæsningstider til timeout -fejl (endeløs centrifugering). Forespørgslen undersøger 12.547.802 rækker. En stor forespørgsel (dvs. vælg *), der køres på en tabel med over 12 millioner rækker, vil sandsynligvis resultere i en dårlig brugeroplevelse. Optimering af forespørgslen (dvs. vælg "sofaborde") eller reduktion af de undersøgte rækker (dvs. arkivering af gamle data) vil gøre forespørgslen hurtigere.

Hvis logfilen er stor, skal du køre mysqldumpslow og gemme output i en fil. Dette vil gøre det nemmere at gennemgå med andre filmanipuleringsværktøjer som f.eks. Grep eller find .

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

Næste trin

Når du har gennemgået den langsomme forespørgselslog, bør du have en god idé om problematiske forespørgsler, der skal løses. Hvis dit website stadig kører langsomt med MySQL ved brug af høje ressourcer, er du måske nødt til at optimere MySQL for bedre at udnytte din servers ressourcer.

Når du er færdig med loggen, skal du sørge for at deaktivere logning af langsom forespørgsel fra MySQL . Hvis du laver logging aktiveret, tømmes MySQL -ressourcer unødigt og vil muligvis fylde din disk (med dårlige forespørgsler).

GoDaddy -hostingtjenester

Vores servereksperter kan aktivere/deaktivere logning af langsom forespørgsel af MySQL og optimere MySQL. Hvis du vil vide mere om denne tjeneste, vores GoDaddy -guider kan hjælpe dig.

Flere oplysninger

Hvis du vil vide mere om de hostingtjenester, som GoDaddy tilbyder, kan du se voresMenuen Hostingtjenester .