Buscar
Nuevo Servicio: MySQL Slow Query LogDicho y hecho, hemos agregado el nuevo servicio de reporte sobre las consultas SQL de tus bases de datos. Antes de entrar en detalle quiero señalar que desde el equipo de Desarrollo estamos profundamente indignados con la cantidad de respuesta que tuvo el post anterior respecto de los 3 comentarios que nos dejaron en el prelanzamiento de estos nuevos reportes. Qué pasó con los tecnófilos ? En fin. Los molesto con que ingresen a su GridPanel y miren la sección MySQL -> Registro de Consultas. Se van a encontrar con un listado día a día, base por base, de todas las consultas SQL que sus sitios hayan ejecutado que hayan superado 1 segundo de ejecución. Pueden ver varios datos asociados a cada consulta, realizar búsquedas por cualquier cadena de texto y lo que es mejor la información se actualiza una vez por minuto, no luego de varias horas. Cada segundo que ven ahí es un segundo que sus usuarios tuvieron que esperar así que es una excelente herramienta para optimizar un sitio! Una guia muy rápida de como optimizar una consulta SQL Imagínense una base de datos como una estantería llena de libros. Cada libro de la estantería es una tabla. Si les pido que me busquen en qué página empieza el capítulo 2 del libro una forma es abrirlo, y mirar página por página, una por una, hasta encontrar una página que diga “CAPITULO 2″. Me van a decir, el capitulo 2 empieza en la página 40. Ahora bien, lo más probable es que el libro tenga un índice al principio y mirando solamente el índice y sin mirar el resto del libro me puedan decir también que el capitulo 2, efectivamente empieza en la página 40. Cuando trabajamos con bases de datos el concepto es exactamente el mismo. Si guardamos muchos registros (páginas), tengamos presente que cuando le pedimos al motor de MySQL que nos traiga un resultado va a tener que leer página por página, la tabla (libro) entero hasta encontrar todo lo que le pedimos. Pero si armamos un índice, los resultados van a ser mucho más rápidos! La gran mayoría de las consultas que van a encontrar en el Slow Query Log de MySQL tienen que ver con esto. No siempre, pero diría que un 95% de los casos. Y muchas veces un pequeño indice en una columna de datos determinada puede generar enormes diferencias. Hoy mismo trabajamos con un cliente para reducir una consulta de 180 segundos a 0.01 segundos con 2 índices! Entonces lo que tenemos que hacer es: 1. Identificar las consultas lentas (esto lo hacemos por vos Por ejemplo si la consulta es “SELECT * FROM usuarios WHERE cumpleanos = ‘2008-25-10′” Nos va a dar algo parecido a: +–+————+———-+——+—————+——-+——–+——-+——-+————-+ 3. Crear los índices adecuados (imaginarse: que columna tendría que leer para filtrar lo que me piden?) y con un simple “ALTER TABLE usuarios ADD INDEX indice1 (cumpleanos);” la cosa cambia: +–+————+———-+——+—————+———-+———+——-+—-+————-+ Si se fijan van a ver que la cantidad de registros (rows/páginas) analizadas pasó de 19063 (la cantidad de usuarios que tengo a 1. Mucho, pero mucho más rápido. 4. Probar nuevamente con un EXPLAIN. Si los resultados no son satisfactorio pueden eliminar el índice mediante el comanto ALTER TABLE usuarios DROP INDEX indice1. Con estos pasos van a lograr que sus sitios funcionen mucho más rápido. Y si sus registros de consultas lentas están vacíos, quiere decir que están haciendo las cosas bien Hay muchas herramientas para este tipo de tareas como el esta, esta o esta otra. Eso es todo! pd. Estamos trabajando ahora en una actualización general de todas las instalaciones de PHP en versión 4 y versión 5 en todos nuestros servidores. Vamos a incluir nuevos módulos, límites de memoria y upload más amplios y la posibilidad de elegir entre varias configuraciones php.ini diferentes. Estén atentos para dentro de poco Ya dejaron 4 opiniones sobre esta nota:ELSERVER SRL no se responsabiliza por las opiniones vertidas en el presente blog sobre personas físicas o jurídicas, siendo las mismas exclusiva responsabilidad de quien las vierte. Asimismo las opiniones dadas por los usuarios del blog no reflejan necesariamente la opinión de ELSERVER SRL. Trackback URI | Seguir comentarios vía RSS Dejá tu opinión!
|
Entré pero figura vacío el historial de ultimas consultas. Hay que esperar para que figuren?
Saludos!
Francisco
De hecho fueron 2 posts.. ya que uno fue de ustedes…
Vamos a probar a ver que pasa con este nuevo servicio…
Saludos!
Waw, lo que mas me interesó fue el PD, algo que vengo esperando hace tiempo (Y)
Muy bueno, nos va a ayudar a optimizar las consultas que a veces lo dejamos para lo ultimo y es tan importante.
saludos