sql >> Base de Datos >  >> RDS >> Mysql

MySQL alto uso de la CPU

En primer lugar, diría que probablemente desee desactivar las conexiones persistentes, ya que casi siempre hacen más daño que bien.

En segundo lugar, diría que desea verificar dos veces a sus usuarios de MySQL, solo para asegurarse de que no sea posible que nadie se conecte desde un servidor remoto. Esto también es una cuestión importante de seguridad para verificar.

En tercer lugar, diría que desea activar Consulta lenta de MySQL Inicie sesión para estar al tanto de las consultas que toman mucho tiempo y utilícelo para asegurarse de que ninguna consulta bloquee las tablas clave durante demasiado tiempo.

Algunas otras cosas que puede verificar serían ejecutar la siguiente consulta mientras la carga de la CPU es alta:

SHOW PROCESSLIST;

Esto le mostrará las consultas que se están ejecutando actualmente o en la cola para ejecutarse, cuál es la consulta y qué está haciendo (este comando truncará la consulta si es demasiado larga, puede usar MOSTRAR LISTA DE PROCESOS COMPLETOS para ver el texto completo de la consulta) .

También querrá vigilar cosas como el tamaño de su búfer, caché de tabla , caché de consultas y innodb_buffer_pool_size (si está utilizando tablas innodb), ya que todas estas asignaciones de memoria pueden afectar el rendimiento de las consultas, lo que puede hacer que MySQL consuma la CPU.

Probablemente también querrá leer lo siguiente, ya que contiene buena información.

También es muy buena idea utilizar un perfilador. Algo que puede activar cuando lo desee que le mostrará qué consultas está ejecutando su aplicación, si hay consultas duplicadas, cuánto tardan, etc., etc. Un ejemplo de algo como esto es uno en el que he estado trabajando llamado Generador de perfiles PHP pero hay muchos por ahí. Si está utilizando un software como Drupal, Joomla o Wordpress, querrá preguntar dentro de la comunidad, ya que probablemente haya módulos disponibles para ellos que le permitan obtener esta información sin necesidad de integrar nada manualmente.