J'ai un site à très faible trafic fonctionnant sur nginx, avec 4 employés, 1024 connexions chacun.
Toutes les quelques heures, je commence à voir dans le journal des erreurs "1024 connexions_ouvriers ne suffisent pas", et mon site ralentit / devient floconneux. Un redémarrage nginx résout entièrement le problème pendant les prochaines heures.
De toute évidence, quelque chose d'étrange se produit, il n'y a aucun moyen de servir 4 000 utilisateurs simultanés de mon application.
En plus de regarder le journal d'accès (qui semble normal), existe-t-il un moyen d'observer avec plus de détails ce que fait nginx?
Y a-t-il une combinaison de configuration notoire qui pourrait avoir pour résultat que les anciennes connexions sont maintenues ouvertes et non fermées?
Merci.
modifier cela ne semble pas correct
# lsof |grep nginx |grep CLOSE_WAIT |wc -l
1271
Réponses:
Sans proxy pass / reverse proxy
Avec proxy inverse
2 est parce que vous ouvrez une connexion à ce que vous mandatez
X est cependant le nombre de connexions simultanées que ces clients vous établissent
Pour voir quelles connexions traînent, vous pouvez exécuter
lsof -i :PORT
. Il montrera toutes les connexions ouvertes à nginx et leur état.la source