Zuerst würde ich sagen, dass Sie wahrscheinlich dauerhafte Verbindungen deaktivieren möchten, da diese fast immer mehr schaden als nützen.
Zweitens würde ich sagen, dass Sie Ihre MySQL-Benutzer überprüfen möchten, um sicherzustellen, dass niemand von einem Remote-Server aus eine Verbindung herstellen kann. Dies ist auch eine wichtige Sicherheitsmaßnahme.
Drittens würde ich sagen, dass Sie das MySQL Slow Query Log aktivieren möchten, um alle Abfragen im Auge zu behalten, die lange dauern, und damit sicherstellen, dass keine Abfragen Schlüsseltabellen zu lange blockieren.
Einige andere Dinge, die Sie überprüfen können, sind, die folgende Abfrage auszuführen, während die CPU-Auslastung hoch ist:
SHOW PROCESSLIST;
Dies zeigt Ihnen alle Abfragen, die gerade ausgeführt werden oder sich in der auszuführenden Warteschlange befinden, was die Abfrage ist und was sie tut (dieser Befehl schneidet die Abfrage ab, wenn sie zu lang ist. Sie können SHOW FULL PROCESSLIST verwenden, um den vollständigen Abfragetext anzuzeigen.) .
Sie wollen auch ein Auge auf Dinge wie Ihre Puffergrößen, halten Tabellen - Cache , Abfrage - Cache und innodb_buffer_pool_size als alle diese Speicherzuordnungen (wenn Sie InnoDB - Tabellen verwenden) kann eine auf die Abfrageleistung auswirken , welche MySQL dazu führen können , CPU auffressen.
Sie sollten 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 so etwas ist eines, an dem ich gearbeitet habe PHP Profiler, aber es gibt viele da draußen. Wenn Sie eine Software wie Drupal, Joomla oder Wordpress verwenden, sollten Sie sich in der Community erkundigen, da wahrscheinlich Module für diese verfügbar sind, mit denen Sie diese Informationen abrufen können, ohne etwas manuell integrieren zu müssen.