Linux en español
Tutoriales

Solucionar problemas de rendimiento lento de MySQL en Plesk

mysql lento plesk
2 minutos de lectura

Síntomas

  • El servidor es lento debido al alto uso de CPU causado por el proceso “mysql”.
  • Hay múltiples consultas lentas.
  • Los sitios web que utilizan bases de datos MySQL funcionan lentamente.
  • El volcado de la base de datos tarda demasiado en completarse.

Porque

El servidor MySQL no está sintonizado para un rendimiento óptimo.

Solución de problemas

Solución de problemas generales

  1. Conéctese al servidor Plesk a través de SSH.
  2. Abra el archivo de configuración de MySQL my.cnfmy.inien cualquier editor de texto. Las ubicaciones del archivo son:
    • para CentOS / RHEL:/etc/my.cnf
    • para Debian / Ubuntu:/etc/mysql/my.cnf
  3. Agregue las siguientes directivas en la [mysqld]sección o aumente los valores si estas directivas ya están definidas:
innodb_buffer_pool_size=1024M
query_cache_size=64M

4. Guarde los cambios y cierre el archivo.

5. Reinicie el servicio MySQL:

para CentOS / RHEL:

service mysqld restart

para Debian / Ubuntu:

service mysql restart

6. Monitorizar el uso de la CPU.

Si el consumo de CPU aumenta nuevamente, considere revisar el código SQL de una base de datos que tiene consultas lentas.

7. Durante un alto nivel de uso de CPU, busque consultas que se estén ejecutando actualmente y que tomen mucho tiempo:

plesk db "SHOW FULL PROCESSLIST"
+-----+-------+-----------+------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+-------+-----------+------+---------+------+-------+-----------------------+
| 12 | admin | localhost | psa | Sleep | 6763 | | NULL |
| 100 | admin | localhost | psa | Query | 0 | NULL | SHOW FULL PROCESSLIST |
+-----+-------+-----------+------+---------+------+-------+-----------------------+
2 rows in set (0.00 sec)

8. Verifique el archivo /var/log/mysqld.logde registro de errores de MySQL para ver si hay errores.

9. Verifique la RAM y el espacio libre en disco:

free -h
df -h

10. Encuentre bases de datos que causen un rendimiento lento de MySQL habilitando el registro de consulta lenta de MySQL .

Solución avanzada de problemas

1. Analice y optimice todas las tablas en todas las bases de datos:

MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqlcheck -uadmin --optimize --all-databases

2. Instala y ejecuta la mysqltunerutilidad. Esta utilidad analizará la instancia actual del servidor MySQL y proporcionará recomendaciones para ajustar los parámetros apropiados.

Entradas relaccionadas

Cómo configurar bloques de servidor Nginx en Debian 10

Diego García Cuesta

Cómo instalar MariaDB en CentOS 8

Diego García Cuesta

Cómo instalar VestaCP en Linux

Diego García Cuesta

Ejecutar comandos por un tiempo limitado en Linux

Diego García Cuesta

Cómo «minimizar las aplicaciones con un clic» en Ubuntu

Diego García Cuesta

Cómo reiniciar nginx en Debian

Diego García Cuesta