Last Updated: February 25, 2016
·
553
· boris

mysql_connect demasiado lento

En algunos casos, una simple query con un par de JOIN's puede tomar mucho tiempo cuando ha sido llamada usando mysql_connect().

Esto ocurre porque cuando se usa esta función, el servidor MySQL intentará resolver el nombre del host que está intentando conectarse. Si la resolución de éste nombre toma mucho tiempo, el proceso terminará siendo muy lento.

Aquí algunos escenarios donde se ve este comportamiento:

  • Servidores de aplicaciones conectando a bases de datos remotas.
  • Error en configuraciones de "localhost".

La solución al problema pasa por agregar las siguientes lines al archivo my.cnf:

[mysqld]
skip-name-resolve

Una vez hecho el cambio es necesario reiniciar el servicio MySQL.