Kolega z CleverCode nedávno doporučil nástroj pro analýzu sql příkazů v MySQL, profilování, a zjistil, že tento nástroj je velmi dobrý, protože dokáže přesně analyzovat, kde konkrétní čas strávený SQL příkazy během procesu dotazu. CleverCode to zde shrnuje a sdílí s vámi.
1 Úvod
MySQL Query Profiler je velmi pohodlný nástroj pro diagnostickou analýzu dotazů, díky kterému můžete během celého procesu dotazu získat spotřebu více zdrojů, jako je CPU, IO, IPC, SWAP atd., stejně jako výskyt PAGE FAULTS, CONTEXT SWITCHE atd., a také zjistit polohu každé funkce volané MySQL ve zdrojovém souboru během provádění dotazu.
MySQL verze 5.0.37 nebo novější podporuje ladění PROFILING, která vám umožní pochopit detaily zdrojů spotřebovaných SQL příkazy. Protože vyžaduje volání funkce getrusage() systému, lze ji použít pouze na platformách třídy Linux/Unix, nikoli na Windows. Navíc PROFILOVÁNÍ slouží ke zpracování procesů, nikoli vláken, a jiné aplikace na serveru mohou ovlivnit výsledky ladění, takže tento nástroj je vhodný pro ladění během vývoje, a pokud chcete ladit v produkčním prostředí, měli byste věnovat pozornost jeho omezením.
2 Provoz
2.1 Zkontrolujte, zda je profil zapnutý, je to ve výchozím nastavení vypnuté.
2.2 Povolit profilování. Profilování proměnných je uživatelská proměnná, kterou je třeba pokaždé znovu povolit.
2.3 Proveďte následující příkazy: Aby se předešlo předchozímu uložení SQL v QCACHE, doporučuje se vynutit příkaz SELECT neprovádět detekci QCACHE při provádění SQL. To vám umožní ověřit přesnost analýzy.
2.4 Použitízobrazit dotaz na profilTo nejnovějšíInformace o provádění výroku。 (Analýza: vyberte sql_no_cache počítání(*) z system_user, kde je věk > 20)
2.5 Použití profilu pořadu. Zobrazit seznam příkazů, které jsou na serveru vykonávány. (ID dotazu, čas strávený časem, příkaz).
2.6 Použijte show profil k dotazování na informace o výkonu formulace ID. Zde analyzujeme výrok pomocí ID 6. (Analýza: vyberte sql_no_cache počet(*) z system_user, kde > 20 let).
2.7 Získat CPU a blokovat spotřebu IO.
2.8 Získání dalších informací. lze získat provedením "ZOBRAZIT PROFIL *** PRO DOTAZ n". Referenční adresa: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|