Estos días trabajando con MySQL me he encontrado con que cuando realizaba conexiones desde el mismo servidor de bases de datos, las consultas y acciones se ejecutaban de forma casi inmediata.
He pasado a hacer pruebas de conexión a la base de datos MySQL en remoto y me he encontrado con que las acciones sobre la base de datos se demoraban unos segundos y no iban fluidas.
Investigando un poco, la explicación y solución del problema ha sido bien sencilla.
La explicación es que MySQL por defecto, cuando recibe una consulta de un host remoto y tiene que devolver la respuesta, intenta resolver el nombre del host de destino antes de hacer el envío. Si no tienes el servidor DNS bien configurado o si directamente no tienes servidor DNS, aunque utilices IPs, las conexiones van a retardarse.
Si no necesitas de servidores DNS, solucionar el problema es tan sencillo como deshabilitar la resolución de nombres en MySQL, añadiendo en el fichero de configuración “my.cnf” en la sección [mysqld] la línea “skip-name-resolve“, de tal modo que quede:
[mysqld]
…
skip-name-resolve
…
muy bueno, me ha servido de mucho, antes tardaba en abrir cualquier página web del servidor y ahora todo es bastante fluido.
ResponderEliminar