
Wir haben festgestellt, dass unser Datenbankserver eine sehr hohe CPU-Auslastung hat (mehr als 90 % werden vom mysqld-Prozess genutzt). Die Ausgabe von mysqltunner wird unten angezeigt. Können Sie mir bitte helfen?
ich bin mit den innodb_buffer_pool_instances(=7) einverstanden, aber gibt es noch andere Vorschläge?
Antwort1
http://mysql.rjweb.org/doc.php/mysql_analysis
Dies besteht aus zwei Teilen: Zum einen wird tiefer in die Einstellungen Ihres Computers eingetaucht, zum anderen wird das Slowlog erfasst.
Eine hohe CPU-Auslastung bedeutet fast immer eine schlechte Indizierung und/oder schlechte Formulierung von Abfragen. Das Slowlog ist eine sehr effiziente Methode, um die „schlechtesten“ Abfragen zu finden. Dann können wir besprechen, wie wir sie verbessern können.
Tuner...
- Es lohnt sich nicht, die Anzahl der Instanzen zu ändern.
- 7G für den Pufferpool istzu großfür eine 7,8-G-Maschine. Beschränken Sie es auf etwa 70 % des RAM; sagen wir 5 G.
- Gab es MySQL-Swapping? Das ist für die Leistung schrecklich (wird aber nicht als hohe CPU-Auslastung angezeigt).