Kolēģis CleverCode nesen ieteica rīku sql paziņojumu analīzei MySQL, profilēšanai un atklāja, ka šis rīks ir ļoti labs, kas var precīzi analizēt, kur konkrētais laiks, kas pavadīts sql paziņojumiem vaicājuma procesā. CleverCode to apkopo šeit un dalās ar jums.
1 Ievads
MySQL vaicājumu profilētājs ir ļoti ērts vaicājumu diagnostikas analīzes rīks, ar kura palīdzību jūs varat iegūt vairāku resursu patēriņu visā vaicājuma izpildes procesā, piemēram, CPU, IO, IPC, SWAP utt., kā arī PAGE FAULTS, CONTEXT SWITCHE utt., kā arī iegūt katras funkcijas atrašanās vietu, ko MySQL izsauc avota failā vaicājuma izpildes laikā.
MySQL versija 5.0.37 vai jaunāka atbalsta PROFILING atkļūdošanas funkciju, kas ļauj saprast SQL paziņojumu patērēto resursu detaļas. Tā kā tas prasa izsaukt sistēmas getrusage() funkciju, to var izmantot tikai Linux/Unix klases platformās, nevis Windows. Turklāt PROFILING ir paredzēts apstrādes procesiem, nevis pavedieniem, un citas servera lietojumprogrammas var ietekmēt jūsu atkļūdošanas rezultātus, tāpēc šis rīks ir piemērots atkļūdošanai izstrādes laikā, un, ja vēlaties atkļūdot ražošanas vidē, jums jāpievērš uzmanība tās ierobežojumiem.
2 Darbība
2.1 Pārbaudiet, vai profils ir iespējots, tas ir izslēgts pēc noklusējuma.
2.2 Iespējot profilēšanu. Mainīgā profilēšana ir lietotāja mainīgais, kas katru reizi ir jāiespējo atkārtoti.
2.3 Izpildiet šādus paziņojumus: Lai izvairītos no iepriekš SQL saglabāšanas QCACHE, ieteicams piespiest SELECT priekšrakstu neveikt QCACHE noteikšanu, izpildot SQL. Tas ļauj iesniegt analīzes precizitāti.
2.4 LietošanaRādīt profila vaicājumuJaunākaisIzraksta izpildes informācija。 (Analīze: izvēlieties sql_no_cache skaitu(*) no system_user, kurā vecums > 20 gadi)
2.5 Šovu profilu izmantošana. Skatīt serverī izpildīto priekšrakstu sarakstu. (vaicājuma ID, pavadītais laiks, paziņojums).
2.6 Izmantojiet rādīt profilu, lai vaicātu formulējuma ID izpildes informāciju. Šeit mēs analizējam paziņojumu ar ID 6. (Analīze: izvēlieties sql_no_cache skaitu(*) no system_user, kurā vecums > 20 gadi).
2.7 Iegūstiet CPU un bloka IO patēriņu.
2.8 Papildu informācijas iegūšana. var iegūt, veicot "SHOW PROFILE *** FOR QUERY n". Atsauces adrese: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|