Samstag, 25. Februar 2012

Monitor Alle SQL queries in MySQL

Microsoft's SQL Server heeft een tool genaamd Profiler die u kunt gebruiken om elke SQL-query die de database raakt monitor. Dit is uiterst nuttig voor programmeurs en database administrators de precieze query gegenereerd door een applicatie te lossen.

Na overgestapt naar het gebruik van MySQL op een frequente basis, dit was een van de eerste dingen die ik wilde uitzoeken hoe te doen. Hoe anders kun je de daadwerkelijke SQL-code gegenereerd door WordPress of phpBB?

Het eerste wat we moeten doen is ingeschakeld logging van queries in MySQL. Wees gewaarschuwd dat dit alleen moet gebeuren in ontwikkeling ... Het vertraagt ​​echt dingen naar beneden om elke vraag te loggen op een bestand.

Zoek en open uw MySQL configuratie bestand, meestal / etc / mysql / my.cnf op Ubuntu. Kijk voor het gedeelte dat zegt "Logging en replicatie"

#
# * Logging en replicatie
#
# Zowel de locatie wordt gedraaid door de cronjob.
# Wees ervan bewust dat dit log type is een performance killer.

log = / var / log / mysql / mysql.log

Gewoon uncomment de "log" variabel aan te zetten houtkap. Herstart MySQL met het commando:

sudo / etc / init.d / mysql start

Nu zijn we klaar om te beginnen het toezicht op de vragen als ze komen binnen Open een nieuwe terminal en voer deze opdracht om het logbestand scroll, aanpassing van het pad indien nodig.

tail-f / var / log / mysql / mysql.log

Nu rennen uw toepassing. U ziet de database queries gaan vliegen door in uw terminal venster. (Zorg ervoor dat je scrollen en geschiedenis ingeschakeld op de terminal)

Ik ben onder de indruk, phpBB3 heeft vrij strakke, geoptimaliseerd SQL-code. WordPress, aan de andere kant, is zeer inefficiënt.

Keine Kommentare:

Kommentar veröffentlichen