Gjennomgå langsomme MySQL -spørringer
Du har aktivert treg spørringslogging og har nå en logg å gjennomgå. Hvis du ikke har aktivert logging, kan du finne trinnene her .Analyserer loggen
Loggplass:/var/log/slow-queries.log
# Tid: 210905 6:33:11 # Bruker @ Vert: dbuser [dbname] @ hostname [1.2.3.4] # Query_time: 12.116250 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 201565 use dbname; SETT tidsstempel = 1409898791; ... SENG SPØRSMÅL HER ...
Loggen kan være overveldende når du har dusinvis om ikke hundrevis av oppføringer i formatet ovenfor. For å gjøre loggen mer lesbar, bruk mysqldumpslow til å analysere loggen.
mysqldumpslow -r -a /var/log/mysql/mysqld.slow.logUtdataene vil inneholde viktig informasjon som tid , rader og spørring .
Count: 2 Time = 20.54s (41s) Lock = 0.02s (0s) Rows = 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 Tid = 21.74s (21s) Lås = 0.01s (0s) Rader = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' BESTILL AV BY site_id DESC LIMIT 0,2 Count: 1 Time = 23,86s (23s) Lås = 0,20s (0s) Rader = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2
Når vi ser på eksempelet ovenfor, har vi ett spørsmål som har tatt 20-24 sekunder å kjøre. Dette medfører problemer med nettstedet ditt, alt fra treg innlastingstid til timeout -feil (endeløs spinning). Spørringen undersøker 12 547 802 rader. Et stort spørsmål (dvs. velg *) som kjøres på et bord med over 12 millioner rader, vil trolig føre til en dårlig brukeropplevelse. Hvis du optimaliserer spørringen (f.eks. Velg "salongbord") eller reduserer de undersøkte radene (dvs. arkiverer gamle data), vil spørringen bli raskere.
Hvis loggfilen er stor, kjører du mysqldumpslow og lagrer utdataene i en fil. Dette vil gjøre det lettere å gjennomgå med andre filmanipuleringsverktøy som grep eller find .
mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed
Neste trinn
Etter å ha gjennomgått den langsomme spørringsloggen, bør du ha en god idé om problematiske spørringer som må løses. Hvis nettstedet ditt fremdeles kjører sakte med MySQL som bruker høye ressurser, må du kanskje optimalisere MySQL for å utnytte serverens ressurser bedre.
Når du er ferdig med loggen, må du sørge for å deaktivere MySQL langsom spørringslogging . Hvis du lar loggingen være aktivert, tømmes MySQL -ressurser unødvendig og kan potensielt fylle disken din (med dårlige spørsmål).
Mer informasjon
Serverekspertene våre kan utføre disse trinnene mot et gebyr. For å lære mer om hostingtjenestene GoDaddy tilbyr, se vårHostingtjenester-meny .