Título: MySQL consume 300% de CPU Publicado por: ccrunch en 1 Diciembre 2014, 18:36 pm Hola a todos, los que lean este tema y ya me conozcan (porque ya pregunté algo de optimización de MySQL) se van a cagar de risa pero bueno :xD
A ver, tengo un servidor con una web y estoy viendo en los procesos del TOP que consume 300%. Yo la verdad es que me encargo de mantenerlo, tanto apache, como servidor correo, MySQL, cron, scripts, etc, pero es que esto no tengo ni idea de qué pasa :xD Me podéis dar consejos sobre cómo intentar ver cuál es el problema? En google vi un script que te dice más o menos qué hay que modificar, pero quisiera algo más... creíble :xD Me podéis ayudar? Salu2 y gracias a todos! Título: Re: MySQL consume 300% de CPU Publicado por: el-brujo en 1 Diciembre 2014, 18:45 pm Lo primero que tienes que saber es las QPS (Queries per second, consultas por segundo) del servidor MySQL. El tamaño de la bases de datos y las consultas lentas.
Existen varios scripts para modificar las variables de MySQL (query caché, etc). MySQL Tuning Primer MySQLTuner mysqlreport Herramientas para Optimizar MySQL http://foro.elhacker.net/tutoriales_documentacion/herramientas_para_optimizar_mysql-t214396.0.html MySQL a fondo (Optimización my.cnf, MyISAM vs InnoDB) http://blog.elhacker.net/2012/05/mysql-fondo-optimizacion-mycnf-myisam.html Título: Re: MySQL consume 300% de CPU Publicado por: ccrunch en 1 Diciembre 2014, 18:55 pm Muchas gracias, como siempre ayudando a los demás :)
Le echaré muchos vistazos, porque me hace falta :xD Gracias de nuevo. Título: Re: MySQL consume 300% de CPU Publicado por: 6666 en 1 Diciembre 2014, 18:59 pm Estas solicitando consultas a varios registros a la vez de gran tamaño u solicitando una funcion mysql de uso general cientos de veces, como es math() . revisa todas las propiedades de la tabla y bases, igualmente para las consultas de busqueda.
Título: Re: MySQL consume 300% de CPU Publicado por: ccrunch en 1 Diciembre 2014, 22:47 pm Hola a todos, he conseguido un pequeño copia/pega de información de la BD: http://pastebin.com/VWQCrhLs
Salu2 Título: Re: MySQL consume 300% de CPU Publicado por: moikano→@ en 2 Diciembre 2014, 01:08 am El mismo mysql te puede hechar una mano para saber que consultan cuestan mas. En el fichero /etc/my.conf puedes añadir estas dos líneas.
Código: long_query_time=1 También puedes hacer lo siguiente por consola de mysql para saber que procesos hay y cuales se quedan colgados y cuanto tiempo llevan. Código: SHOW PROCESSLIST; Si lo quieres ver como un htop puedes ejecutar este comando para ver lo mismo que el show pero en tiempo real y con mas datos. Este comando directamente por consola bash. Código: mytop --prompt -u root Suerte. Título: Re: MySQL consume 300% de CPU Publicado por: ccrunch en 2 Diciembre 2014, 18:30 pm La info del mysql me da esto:
Código: Uptime: 1323861 Threads: 7 Questions: 108110567 [b]Slow queries: 11816[/b] Opens: 133651 Flush tables: 1 Open tables: 64 [b]Queries per second avg: 81.663[/b] Eso en negrita por lo visto está un poco mal, cómo puedo detectar esas consultas? He creado el log para las slow-queries y el fichero de momento está vacío, aunque haya hecho esto: Citar mkdir /var/log/mysql touch /var/log/mysql/log-slow-queries.log chown mysql.mysql -R /var/log/mysql Salu2 Título: Re: MySQL consume 300% de CPU Publicado por: el-brujo en 2 Diciembre 2014, 18:45 pm 81 consultas por segundo no está nada mal, me refiero que son bastantes consultas por segundo.
Parece que tienes muchas slow queries. Se guardará la consulta en el fichero log-slow-queries.log que duren más de un segundo (long_query_time=1) Y estás usando el motor InnoDB Copia y pega el contenido del fichero my.cnf para ver la configuración que estás usando. ¿Qué versión de MySQL estás usando? Me refiero a la rama 5.5? Título: Re: MySQL consume 300% de CPU Publicado por: moikano→@ en 2 Diciembre 2014, 18:49 pm Citar He creado el log para las slow-queries y el fichero de momento está vacío, aunque haya hecho esto: Has probado a reiniciar mysql? si no no lo crearáTítulo: Re: MySQL consume 300% de CPU Publicado por: ccrunch en 2 Diciembre 2014, 18:53 pm Citar [mysqld] bind-address=127.0.0.1 local-infile=0 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 ft_min_word_len = 1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid #queries lentas long_query_time=1 log-slow-queries=/var/log/mysql/log-slow-queries.log Citar Has probado a reiniciar mysql? si no no lo creará Lo sé pero como hay consultas y escrituras en la BD es por miedo a que se corrompa.Salu2 a los dos y gracias! Título: Re: MySQL consume 300% de CPU Publicado por: MinusFour en 2 Diciembre 2014, 18:57 pm Lo sé pero como hay consultas y escrituras en la BD es por miedo a que se corrompa. Salu2 a los dos y gracias! No deberia. Título: Re: MySQL consume 300% de CPU Publicado por: ccrunch en 2 Diciembre 2014, 19:31 pm No deberia. Perdona, había leído mal. No hice un restart, pero sí un reload.Salu2! Título: Re: MySQL consume 300% de CPU Publicado por: moikano→@ en 2 Diciembre 2014, 19:33 pm Citar Perdona, había leído mal. No hice un restart, pero sí un reload. Creo que hay que hacer un restart. |