php_network_getaddresses: getaddrinfo falló: falla temporal en la resolución de nombres

php_network_getaddresses: getaddrinfo falló: falla temporal en la resolución de nombres

Sigo recibiendo este error muy frecuentemente:

Severity: Warning --> mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

Este problema se resuelve solo después de reiniciar el servidor. Teniendo en cuenta que esto sucede en un servidor activo que tiene millones de solicitudes diarias, reiniciar no es la mejor opción.

[EDITADO]

Estoy usando Ubuntu 18.04 y me conecto a un Aurora Cluster en AWS y el código de backend reside en EC2

@matigo en Askubuntu parece pensar que podría estar llegando al límite:

https://askubuntu.com/a/1363447/135086

Así que hice algunas depuraciones para entender si realmente estoy alcanzando el límite de 1024 PPS. Afortunadamente, hubo un artículo de AWS que parece ayudarme a entender eso.

https://aws.amazon.com/premiumsupport/knowledge-center/vpc-find-cause-of-failed-dns-queries/

Probé los comandos para comprender el PPS que estoy alcanzando en este momento y lo supervisé hasta que encontré el error.

ERROR - 2021-09-20 12:14:31.547863 --> Severity: Warning --> mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

Para mi sorpresa, el siguiente es el resultado del comando mencionado en el artículo de AWS.

tcpdump  -r <file_name.pcap> -nn dst port 53 | awk -F " " '{ print $1 }' | cut -d"." -f1 | uniq -c


  2 06:44:22
  6 06:44:24
  4 06:44:26
  2 06:44:28
  4 06:44:30
  7 06:44:34
  2 06:44:38
  7 06:44:39
  9 06:44:44
  6 06:44:46
  4 06:44:49
  6 06:44:50

Considerando que la zona horaria es +05:30, un error a las 12:14:31 IST debería tener una entrada para dns a las 06:44:31 UTC.

Si consideramos el tamaño promedio de paquete de 4 paquetes por llamada, en referencia a la respuesta de @matigo, no estoy alcanzando las 22 llamadas dns por segundo. Entonces, mirando más a fondo los registros,

  4 06:39:06
 26 06:39:09
  4 06:39:10
  2 06:39:13
  6 06:39:16
 16 06:39:17

Algunas entradas han superado el límite de 22 llamadas DNS por segundo y no encontramos el error php_network_getaddresses.

Así que no estoy seguro de cuál es el problema aquí.

Alguien también dijo que esto podría deberse a un servidor DHCP no autorizado en la LAN, no estoy seguro de cómo identificarlo, o sería posible en un EC2 cuando el único DNS configurado es AWS Route53 Resolver.

En este punto, no sé si se trata siquiera del problema del límite de PPS o de algo más.

Respuesta1

Tuve el mismo error con una instancia que no alcanzaba el límite. Después de un tiempo, me topé con un hilo de soporte de AWS que indicaba que podría ser un problema de hardware.

El host físico subyacente de su instancia (i-3d124c6d) parece haber tenido problemas de forma intermitente, algunos de los cuales definitivamente habrían causado la interrupción del servicio.

¿Podrías intentar detener e iniciar esta instancia? Al hacerlo, se abrirá en un nuevo hardware subyacente y luego podremos utilizar su servicio pingdom para verificar si surgen más problemas.

de:https://forums.aws.amazon.com/thread.jspa?threadID=171805.

Detener y reiniciar la instancia resolvió el problema.

información relacionada