Адно доўгае праксіраванае злучэнне звычайна займае два сокеты: кліента і вышэйшага сервера. worker_connections лічыць абодва бакі. Таму множанне яго на worker_processes не дае абяцання ёмістасці для карыстальнікаў проксі.

Калі злучэнні ўзнікаюць збоі, ідзіце за паведамленым лімітам:

СведчаннеНалада або стан працэсу для праверкі
вычэрпванне worker_connectionsБюджэт злучэнняў воркера, уключаючы сокеты вышэйшага сервера
«Занадта шмат адкрытых файлаў» ад аперацыйнай сістэмыЛіміт файлавых дэскрыптараў, які ўспадкоўвае фактычны працэс службы

Сокеты праслухоўвання, журналы і іншыя адкрытыя файлы таксама спажываюць дэскрыптары. Паўторнае выкарыстанне злучэнняў і склад трафіку змяняюць суадносіны паміж карыстальнікамі і сокетамі.

worker_rlimit_nofile карэктуе ліміты воркера ў межах правоў асяроддзя. Юніт systemd можа задаць LimitNOFILE; ulimit інтэрактыўнай абалонкі не змяняе працуючую службу.

Падбірайце ліміты пад нагрузку і правярайце, хто іх спажывае. Нечаканыя кліенты або злучэнні, якія пастаянна збіваюцца, могуць вычарпаць раней дастатковы бюджэт. Большая колькасць працэсаў або ліміт памяці не выпраўляе недахоп дэскрыптараў.

Падобныя артыкулы