MySQL Profiling
mit Percona Tools

Andreas Ziethen

ScaleCommerce GmbH
Bevor ich es vergesse …
14. - 19. September 2018
Auf Malle!!!
14. - 19. September 2018
• Coole Location
• Tolle Leute
• Unconference
• Gutes Wetter!
• Leckeres Essen
• Viel Spaß!
Tickets:

https://weuceu.org
14. - 19. September 2018
Spezial-Rabatt für die PHP-Usergroup Münster:


Rabatt-Code: xxxxxxx (für slideshare ge-x’t - bei Bedarf nachfragen)
(15% auf alle Tickets)
Tickets unter: https://weuceu.org
Facebook: https://www.facebook.com/WebengineeringUnconferenceEurope/
Performance-Probleme
• Seiten laden langsam

• Server geht in die Knie

• Server verbraucht extrem viele Ressourcen (CPU / RAM)
Was tun?
• Analyse / Messen

• Tideways —> PHP Profiling

• Herausfinden, welche Request lange dauern und/oder
viel Last machen

• Herausfinden, welche konkreten Funktionsaufrufe
verantwortlich sind
Analyse
• Seitenaufruf dauert 6.24 sec

• 3.43 s davon DB-Abfragen

• —> Hier klemmt was!
DB Bottlenecks finden -
Wie?
• SlowLog für alle queries aktivieren:



mysql> set global slow_query_log=0;



mysql> set global slow_query_log_file='/var/log/mysql/profile.sql';



mysql> set global long_query_time=0;



mysql> set global slow_query_log=1;
DB Bottlenecks finden -
Wie?
• VORSICHT:



slow_query_log_file kann sehr schnell SEHR groß
werden!!

• Plattenplatz checken!

• Dateigröße im Auge behalten!

• Sinnvoll: 5-10 GB



Percona-Tools: pt-query-digest
• https://www.percona.com/software/database-tools/
percona-toolkit

• Viele hilfreiche Tools, insbesondere für Replication

• Für Performance-Analyse: pt-query-digest
Percona-Tools: pt-query-digest
• Usage:



pt-query-digest profile.sql > profile.txt
• Kann je nach Dateigröße Stunden dauern! (evtl. in screen
ausführen)
Percona-Tools: pt-query-digest
• Wie sieht das Ergebnis aus?



Praxis-Beispiele
Percona Tools: PMM
• https://pmmdemo.percona.com/

Vielen Dank!
Andreas Ziethen

https://scale.sc

az@scale.sc


Mysql profiling mit Percona Tools