Une connexion proxifiée de longue durée occupe généralement deux sockets : celui du client et celui de l'amont. worker_connections compte les deux côtés. Le multiplier par worker_processes ne promet donc aucune capacité aux utilisateurs du proxy.

Lorsque des connexions échouent, suivez la limite signalée :

IndiceRéglage ou état du processus à examiner
épuisement de worker_connectionsLe budget de connexions du worker, sockets amont compris
Message du système « Trop de fichiers ouverts »La limite de descripteurs de fichiers héritée par le processus réel du service

Les sockets d'écoute, les journaux et les autres fichiers ouverts consomment aussi des descripteurs. La réutilisation des connexions et la composition du trafic modifient le rapport entre utilisateurs et sockets.

worker_rlimit_nofile ajuste les limites du worker selon les permissions de l'environnement. Une unité systemd peut définir LimitNOFILE ; le ulimit d'un shell interactif ne modifie pas le service en cours d'exécution.

Dimensionnez les limites selon la charge et vérifiez qui les consomme. Des clients inattendus ou des connexions amont qui échouent à répétition peuvent épuiser un budget auparavant suffisant. Un nombre de processus ou une limite de mémoire plus élevés ne corrigent pas un manque de descripteurs.

Articles similaires