If you run or administer a production MySQL server it's quite likely that it sometimes runs a little slow, and can be a very time consuming effort to figure out why. Hvis du kjører eller administrere en produksjon MySQL server det er ganske sannsynlig at det noen ganger går litt tregt, og kan være en svært tidkrevende arbeid med å finne ut hvorfor. To be able to pinpoint the query that slows the DB down can be hard to track down. For å kunne fastslå spørring som senker DB ned kan være vanskelig å oppspore. MySQL has an option to help you out. MySQL har en opsjon på å hjelpe deg. It comes with an option to log slow queries. Den kommer med en opsjon på å stokk langsom forespørsler. This way when you find your database server running slower than usual you can open this log file in a text editor and see what queries are running slow. På denne måten når du finner database server som kjører saktere enn vanlig, kan du åpne denne loggfilen i en tekst editor og se hvilke søk som kjører sakte. Let's look at how to set this up. La oss se på hvordan man setter opp dette.
First open your MySQL server's configuration file, my.cnf . Først åpner MySQL server's konfigurasjonsfil, my.cnf. On Linux this should be in the /etc directory. På Linux dette bør i / etc katalogen. Look to see if the parameter log-slow-queries has already been set. Se om parameteren log-sakte-spørringer er allerede satt. If not, then set it to something like this: Hvis ikke, så sett den til noe som dette:
log-slow-queries = /var/log/mysql/mysql-slow.log log-langsom-forespørsler = / var / log / mysql / mysql-slow.log
You also need to set the length of time before a query is fit to be considered a slow query . Du må også angi hvor lang tid før en spørring er skikket til å bli betraktet som en langsom søk. On my server I have set it to 30 seconds, like this: På serveren min har jeg satt den til 30 sekunder, som dette:
long_query_time = 30 long_query_time = 30
Restart your MySQL server, and then watch the mysql-slow.log file. Restart MySQL server, og deretter se på mysql-slow.log fil. Whenever a query takes longer to complete than 30 seconds, or whatever you set in my.cnf , the query will be logged in mysql-slow.log. Når en spørring tar lenger tid å fullføre enn 30 sekunder, eller hva du har angitt i my.cnf, vil søket være logget inn mysql-slow.log. Now debugging MySQL queries should be a lot simpler and quicker for you. Nå debugging MySQL spørringer burde være mye enklere og raskere for deg. Do remember to check this file every once in a while. Husker å se denne filen hver gang en stund. What might help is to Hva kan hjelpe er å setup a cron job setup en cron-jobb to mail you this file once every few days. til e-post du denne filen en gang i noen dager.























0 Responses 0 Responses
Stay in touch with the conversation, subscribe to the Hold kontakten med samtalen, abonnere på RSS feed for comments on this post RSS feed for kommentarer til dette innlegget . .