Tabla de contenidos
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
- Conéctese al servidor Plesk a través de SSH.
- Abra el archivo de configuración de MySQL
my.cnf
omy.ini
en cualquier editor de texto. Las ubicaciones del archivo son:- para CentOS / RHEL:/etc/my.cnf
- para Debian / Ubuntu:/etc/mysql/my.cnf
- 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.log
de 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 mysqltuner
utilidad. Esta utilidad analizará la instancia actual del servidor MySQL y proporcionará recomendaciones para ajustar los parámetros apropiados.
- La versión de Linux está disponible en: http://mysqltuner.com
- La versión de Windows está disponible en: https://mysqltuner.codeplex.com