Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utilisation élevée du processeur MySQL

Tout d'abord, je dirais que vous souhaitez probablement 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 qu'il n'est pas possible pour quiconque de se connecter à partir d'un serveur distant. C'est aussi un élément de sécurité majeur à vérifier.

Troisièmement, je dirais que vous voulez activer le Requête lente MySQL Connectez-vous pour garder un œil sur les requêtes qui prennent beaucoup de temps et utilisez-le pour vous assurer qu'aucune requête ne bloque les tables clés trop longtemps.

D'autres choses que vous pouvez vérifier seraient d'exécuter la requête suivante pendant que la charge du processeur est élevée :

SHOW PROCESSLIST;

Cela vous montrera toutes les requêtes en cours d'exécution ou dans la file d'attente à exécuter, ce qu'est la requête 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 voudrez également garder un œil sur des choses comme la taille de vos tampons, cache de table , cache de requête et innodb_buffer_pool_size (si vous utilisez des tables innodb) car toutes ces allocations de mémoire peuvent avoir un effet sur les performances des requêtes, ce qui peut entraîner une consommation de CPU par MySQL.

Vous voudrez probablement aussi lire ce qui suit car ils contiennent de bonnes informations.

C'est aussi une très bonne idée d'utiliser un profileur. Quelque chose que vous pouvez activer quand vous le souhaitez qui vous montrera quelles requêtes votre application exécute, s'il y a des requêtes en double, combien de temps elles prennent, etc., etc. Un exemple de quelque chose comme celui-ci est celui sur lequel j'ai travaillé appelé Profileur PHP mais il y en a beaucoup. Si vous utilisez un logiciel comme Drupal, Joomla ou Wordpress, vous voudrez demander autour de vous au sein de la communauté car il existe probablement des modules disponibles pour eux qui vous permettent d'obtenir ces informations sans avoir besoin d'intégrer quoi que ce soit manuellement.