D'abord, je dirais que vous voudrez probablement pour désactiver les connexions persistantes car elles font presque toujours plus de mal que de bien. Deuxièmement, je dirais que vous voulez vérifier vos utilisateurs MySQL, juste pour vous assurer que personne ne peut se connecter à partir d'un serveur distant. C'est aussi une chose de sécurité majeure à vérifier. Troisièmement, je dirais que vous voulez activer le MySQL Slow Query Log pour garder un œil sur toutes les requêtes qui prennent beaucoup de temps, et utilisez-le pour vous assurer que vous n'avez pas de requêtes bloquant les tables de clés pour trop longue.
D'autres choses que vous pouvez vérifier serait d'exécuter la requête suivante alors que la charge du processeur est élevée:
SHOW PROCESSLIST;
Cela vous montrera toutes les questions qui sont en cours d'exécution ou dans la file d'attente pour exécuter, ce que le La requête est et ce qu'elle fait (cette commande tronquera la requête si elle est trop longue, vous pouvez utiliser SHOW FULL PROCESSLIST pour voir le texte complet de la requête).
Vous voulez aussi garder un oeil sur des choses comme la taille de vos tampons, table cache, query cache et innodb_buffer_pool_size (si vous utilisez des tables InnoDB) que toutes ces allocations de mémoire peut avoir une incidence sur les performances des requêtes qui peuvent causer MySQL à manger CPU.
Vous aurez également probablement envie de donner une lecture de ce qui suit, car ils contiennent de bonnes informations.
Il est aussi une très bonne idée d'utiliser un profileur. Quelque chose que vous pouvez activer quand vous voulez cela vous montrera quelles requêtes votre application exécute, s'il y a des requêtes en double, combien de temps ils prennent, etc., etc. Un exemple de quelque chose comme ceci est celui que j'ai travaillé appelé PHP Profiler mais il y en a beaucoup là-bas. Si vous utilisez un logiciel comme Drupal, Joomla ou Wordpress, vous aurez besoin de demander au sein de la communauté car il y a probablement des modules disponibles pour eux qui vous permettent d'obtenir cette information sans avoir besoin d'intégrer quoi que ce soit manuellement.
Les connexions persistantes ne sont pas toujours la bonne chose à utiliser. – jason
Je vais les enlever maintenant et regarder pour une différence parce que je ne me souviens jamais du cpu étant au-dessus de 2 il ya un mois! – Juddling
Les serveurs ont tendance à avoir plus d'un noyau. Le pourcentage d'utilisation du processeur est calculé par rapport à un cœur, autrement dit, un processus utilisant jusqu'à deux cœurs aura une utilisation du processeur de 200%. Ici, MySQL utilise 100% d'un core et 60% d'un autre core. Cela ne signifie pas que tous les processeurs sont épuisés, il a probablement au moins deux processeurs libres. – xaav