Llevamos unos días con ciertos problemas en el servidor. Nuestra arquitectura de servidores, tenemos un servidor web para las páginas, y un servidor web para la base de datos.
Encontrabamos problemas en el servidor de base de datos, ya que aunque no habia problemas con los procesos, realizando un «top» nos encontrabamos con menos de 5% de uso de cpu.
Entrando a ver los procesos de la base de datos, encontrabamos muchos procesos con «unauthenticated user» que se iban encolando y esto hacia que no llegaran a ejecutarse, antes de que saltara el timeout.
Buscamos a ver si había alguna sentencia que pudiera ralentizar el resto de peticiones, pero eso no pasaba, es decir, no habia ninguna petición que bloqueara al resto de sentencias.
Tras varios dias volviendonos locos, encontramos este post en este blog de dante robles en el cual nos ha dado la solución.
Simplemente hemos introducido en el fichero /etc/hosts los dominios y la ip desde la cual se realizan las peticiones a esta base de datos … y asunto concluido!!!!!
como algo tan sencillo te puede hacer perder tanto tiempo ….. es lo que nos pasa por no conocer como funciona mysql.
Entiendo ahora, que cuando a mysql le llega una petición, este transforma la dns en la ip, para comprobar si permite acceder al host a su base de datos, y esto es lo que estaba retardando la entrada de las siguientes peticiones.
Espero que la gente no pierda tiempo con este «problema».