Zuerst habe ich Sie wahrscheinlich sagen würde wollen dauerhafte Verbindungen zu deaktivieren, da sie fast immer mehr Schaden anrichten als Nutzen bringen.
Zweitens würde ich sagen, Sie möchten Ihre MySQL-Benutzer überprüfen, nur um sicherzustellen, dass niemand von einem Remote-Server verbinden kann. Dies ist auch eine wichtige Sicherheitsfrage.
Drittens würde ich sagen, dass Sie das Protokoll MySQL Slow Query aktivieren möchten, um alle Anfragen, die lange dauern, im Auge zu behalten und sicherzustellen, dass Sie keine Abfragen haben, die Schlüsseltabellen für Sie sperren lange.
Einige andere Dinge, die Sie überprüfen wäre, die folgende Abfrage auszuführen, während die CPU-Auslastung hoch ist: Dies zeigt Ihnen alle Fragen
SHOW PROCESSLIST;
, die derzeit ausgeführt werden oder in der Warteschlange zu laufen, was die Abfrage ist und was es tut (dieser Befehl wird die Abfrage abschneiden, wenn sie zu lang ist, Sie können SHOW FULL PROCESSLIST verwenden, um den vollständigen Abfragetext zu sehen).
Sie werden auch ein Auge auf Dinge wie Ihre Puffergrößen halten wollen, table cache, query cache und innodb_buffer_pool_size (wenn Sie InnoDB-Tabellen verwenden) als alle diese Speicherzuordnungen kann eine, die auf die Abfrageleistung auswirken kann dazu führen, MySQL, um CPU zu verbrauchen.
Sie werden wahrscheinlich auch die folgenden Informationen lesen, da sie einige gute Informationen enthalten.
Es ist auch eine sehr gute Idee, einen Profiler zu verwenden. Etwas, das Sie aktivieren können, wenn Sie möchten, zeigt Ihnen, welche Abfragen Ihre Anwendung ausführt, ob es doppelte Abfragen gibt, wie lange sie dauern usw. usw. Ein Beispiel für etwas wie dieses ist eines, an dem ich gerade gearbeitet habe PHP Profiler aber es gibt viele da draußen. Wenn Sie eine Software wie Drupal, Joomla oder Wordpress verwenden, sollten Sie sich innerhalb der Community erkundigen, da es wahrscheinlich Module gibt, mit denen Sie diese Informationen erhalten, ohne manuell etwas integrieren zu müssen.
Persistente Verbindungen sind _amost_ immer nicht das richtige zu verwenden. – jason
Ich werde sie jetzt ausziehen und auf einen Unterschied achten, weil ich mich nie daran erinnern kann, dass die CPU vor einem Monat über 2 war! – Juddling
Server haben tendenziell mehr als einen Kern. Die prozentuale CPU-Auslastung wird relativ zu einem Kern berechnet. Ein Prozess, der zwei Kerne vollständig nutzt, hat eine CPU-Auslastung von 200%. Hier verbraucht MySQL 100% eines Kerns und 60% eines anderen Kerns. Das bedeutet nicht, dass alle CPUs aufgebraucht sind, wahrscheinlich hat er immer noch mindestens zwei freie CPUs. – xaav