Php-fpm php_network_getaddresses appelle démarrer de manière aléatoire avec mauvais udp cksum

Nous utilisons plusieurs serveurs Web (nginx, php5.6-fpm) sur les instances ubuntu sur AWS. Ils fonctionnent bien pendant un certain nombre de mois, mais au cours des derniers jours, nous avons commencé à émettre des problèmes où, après une rotation de l'instance, tout va bien, mais après 12 heures environ, les appels réseau commencent à échouer (en particulier Instance socket tcp calls to redis).

Après avoir creusé avec tcpdump, il semble que les recherches dns soient rejetées en raison d'une défaillance de la somme de contrôle udp:

17: 13: 38.013346 IP (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -> 0x3ae1!] 25855+ Type20736? Xxxxxxxx.us-east-1.rds.amazonaws.com. (75)

Si j'utilise telnet pour me connecter au serveur Redis à partir de la même instance, alors c'est très bien, cela ne semble affecter que fpm. Tout à fait étrange, il ne se passe que peu de temps après que l'instance a commencé – initialement toutes les demandes se passent bien. De même, le redémarrage du service php5.6-fpm semble effacer le problème pendant un certain temps.

Je suis à peu près à la fin de ma connaissance à ce stade, alors j'espère que quelqu'un peut me pointer dans la bonne direction!

2 Solutions collect form web for “Php-fpm php_network_getaddresses appelle démarrer de manière aléatoire avec mauvais udp cksum”

Vous avez installé une correction de sécurité défectueuse – cela ressemble à l'issue de USN-3239-2 .

Une mise à jour de sécurité pour GNU libc qui a abordé (entre autres) …

Une allocation de pile illimitée dans la fonction getaddrinfo() de la bibliothèque GNU C.

… contenait une régression – un changement involontaire de l'ABI – qui semblait avoir causé des problèmes similaires à ceux que vous décrivez … La résolution DNS finirait par cesser de fonctionner jusqu'à ce que les processus aient été redémarrés.

La mise à jour originale était la version 2017-03-20 et la solution a été publiée 2017-03-21. L'application des dernières corrections de sécurité du système d'exploitation devrait remédier au problème, si c'est ce que c'est.

La mauvaise somme de contrôle peut être attribuable à la suppression de la somme de contrôle .

Je vérifierais si c'est le cas, que vous pouvez faire en exécutant:

sudo ethtool --show-offload ethX

Il se peut qu'il contienne quelques imprécisions par rapport à l'original. Nous espérons néanmoins que cela vous aidera dans vos recherches. Original en anglais Language Weaver Notez cette traduction: Merci pour votre évaluation Mauvaise Bonne Vous pouvez vérifier les paquets de retour pour NXDOMAIN ou similaires.

Si c'était le problème, avoir une sorte de résolveur de mise en cache pourrait vous aider.

Mis à jour pour tenir compte des commentaires ci-dessous:

Si le redémarrage du service lui-même est «réparant» le problème (merci @ Liam Wiltshire pour l'information ajoutée), je suis d'accord que la limitation des taux ne semble pas correcte (ou du moins, la limitation de la fréquence par l'amont ne fonctionne pas).

Je suppose que la limitation des taux en raison des ressources locales pourrait encore être une possibilité à considérer: par exemple, en veillant à ce qu'il n'y ait pas de limite d'entrées de conntrack, ou des fichiers ouverts ulimit 's (c'est-à-dire que nofiles est faible.

Cela étant dit, le mauvais patch de sécurité / mauvais logiciel ne semble plus prometteur – alors je donnerais certainement du poids (et j'aurais donné des points) aux suggestions de @ Michael – sqlbot .

  • Taille minimale de la communication TCP
  • Le livre blanc du fournisseur dit: 5Mpps no prob. Je frappe déjà un mur à 120kpps. Où est le goulot d'étranglement?
  • Le réassemblage échoue à destination
  • Problème dans la création de prises UDP
  • php-fpm php_network_getaddresses appelle au hasard, commence à échouer avec mauvais udp cksum
  • Comment forcer l'utilisation de tcp au lieu de udp pour rpcbind?
  • TCP vs UDP Error-Checking
  • Serveur DNS lent Windows
  • comment exécuter memcached uniquement sur les ports UDP
  • Transmettre vers l'IP fixe à l'aide d'IPTables
  • Connectez-vous à Internet via le protocole udp
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.