septiembre
2007
Optimizando MySQL
o como “enchular” un poco la base de datos.
Cuando se tiene un sitio con literalmente cientos de consultas diferentes a la base de datos (MySQL) en ocasiones es difícil saber cual de ellas mata literalmente a la máquina: la base de datos llega a consumir todo el CPU y apache deja de responder.
Así que por un problema que tuvo Almita en la SEP, me puse a leer al respecto e hice algunos cambios en dos servidores que mantengo.
Activar log-slow-queries
[mysqld] long_query_time = 1 log-slow-queries
Activamos estas líneas en my.cnf (generalmente en /etc/my.cfg) y listo, ahora tendremos un archivo de log donde nos muestra el tiempo que se tarda dependiendo que consulta (en este caso mas de 1 segundo de tiempo), el tiempo de bloqueo si es que hubo, el número de resultados y la consulta en si (para lo cual sería muy útil ponerle alguna marca en cada consulta en forma de comentario).
Activar query_cache_size
Lo otro es activar el query_cache_size@ para consultas muy recurrentes, simplente en [mysqld] añadir:
query_cachesize = 32M
(el valor depende de muuuuchas cosas). Para analizarlo en una consola hacia MySQL:
SHOW STATUS LIKE "qcache%";
Y bueno ya, noto un poco menos lentas a las dos máquinas donde apliqué esos cambios.
Lectura obligada:
Escuchando: tangos
Entradas relacionadas:
Han escrito 4 comentarios de «Optimizando MySQL»
firmost
Miércoles 12 de septiembre, 2007 18:39.-
toro la forma de optimizar que describes está, mmh, cómo lo diré, dos tres pero no para clavarse, conozco una forma más eficiente y sobre todo más segura, yo adempás de lo que haces modifico algunas secuencias de apache, además de que asigno una bandera a la consulta del problema para hacer un historial, es algo extenso explicarlo pero cuando gustes lo comentamos

ToRo
Miércoles 12 de septiembre, 2007 20:09.-
hahaha saliste mas cabrón que bonito

firmost
Jueves 13 de septiembre, 2007 14:43.-
oye, toro, de perdido en mi comentario si suena como a que sé de lo que hablas, no sé ni madres maestro, es más no sé que es MySQL, menos apache, bueno sé que es un wey con penacho pero dudo mucho que esos estén dentro de una pc

(anonimo)Guti
Jueves 20 de septiembre, 2007 15:43. [usuario no registrado en ymipollo.com]-
Imagino que ya estás ejecutando los binarios compilados con el Intel C++, que dan entorno al 10%-20% de rendimiento extra.


