MySQL lento, demora al conectar

Imagen de favrycio

Tema: 

Hace unos dias tuve un problema con MySQL que me quitó el sueño porque no encontré ayuda fácilmente (seguramente estaba buscando mal).

Un programa que yo hice (que trabaja con una base de datos MySQL), algunas veces demoraba entre 2 y 30 segundos en completar las consultas a la base de datos... después de hacer cambios en el equipo servidor, programa, red, equipos cliente el problema continuaba; incluso había días en que la demora se producía pocas veces y era muy corta y otros días era muy frecuente. Ni se imaginan la vergüenza que me daba al ver que mi programa "se quedaba pegado".

mysql> show processlist; ¡¡¡Eso es lo primero que debería haber hecho!!!. Cuando se producía la demora, se podía ver en la lista de procesos, una o varias líneas que como usuario ponía: "unauthenticated user"... esa fue la palabra mágica que me ayudo a encontrar el problema y la solución.

Cuando un usuario se conecta, MySQL además de comprobar el nombre de usuario y la contraseña también comprueba el host, osea, resuelve a través del servicio DNS (ya sea local o remoto) la IP y/o dominio desde donde se realiza la conexión... es aquí donde se produce el problema: si el servicio DNS no responde con la rapidez necesaria (algo muy común) se retrasa el login y todo lo demás (consulta, ejecución o lo que sea que se quiera hacer en el servidor).

Para evitar este problema (la "incompetencia" del servicio DNS) simplemente le decimos a MySQL que NO intente resolver IP y/o dominio, para esto agregamos "skip-name-resolve" al archivo de configuración de MySQL (/etc/mysql/my.cnf) o lanzamos el servicio mysqld con la opción skip-name-resolve, en [mysqld]

Es importante mencionar que solo se podrán usar IPs como host de usuarios.

Ahí por fin pude demostrarle al cliente que mis programas y un servidor Linux con MySQL son una maravilla jajaja...

Aquí hay mas información sobre como "tunear" MySQL:

How To: Optimize MySQL response time

10 tips para Optimizar consultas MySQL
Porqué MySQL es lento con grandes tablas?

Comentarios

mucho se te agradece, este

Imagen de Epe

mucho se te agradece, este parámetro es importante, casualmente ayer nos pasó algo similar...

Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 334 2795
USA: +1 305 359 4495, España: +34 91 7617884


Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

por el mes de enero me

Imagen de devilsoulblack

por el mes de enero me sucedio esto, estube webiando por 15 min hasta que di con el problema
® { No HopE & No FeaR } ®
Be part of the change, because We are the change..
Projects:
Orenses.org: http://www.orenses.org
DeVilSoulBlacK Diary of a Madman: http://www.alfredoandaluz.com

® { No HopE & No FeaR } ®
Be part of the change, because We are the change..
Projects:
Orenses.org: http://www.orenses.org

Son

Imagen de deathUser

Son muuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuy comunes los problemas con DNS directo y/o inverso relacionados con lentitud en el establecimiento de la conexión inicial, es de las primeras cosas que deben descartarse en este tipo de casos ...

bye
:)