где nginx открывает свои файловые дескрипторы? - PullRequest
0 голосов
/ 25 апреля 2020

Я испытываю ошибку (23: too many open files in system) на моем nginx из-за большой нагрузки при открытии запросов на подключение к веб-сокету.

бэкэнд-сервис, который работает на совершенно другой машине и получает proxy_pass от этого nginx процесс. Как только я достигаю определенного порога, я получаю сообщение об ошибке выше. Я попытался копаться в документации nginx, но не нашел ничего полезного. где файловые дескрипторы для этих веб-сокетов открываются и создаются? это на компьютере, на котором запущен процесс nginx, или на компьютере, на котором запущена служба?

Я хочу увеличить лимит разрешенных открытых файлов для процесса, и я не уверен, на каком машина мне нужно поменять.

1 Ответ

1 голос
/ 25 апреля 2020

Увеличьте максимальное количество файловых дескрипторов на сервере nginx. Увеличение должно происходить на уровне ядра и пользователя или на уровне nginx. рекомендации по настройке объясняют, почему:

Файловые дескрипторы - это ресурсы операционной системы, используемые для представления соединений и открытия файлов, среди прочего. NGINX может использовать до двух файловых дескрипторов на одно соединение. Например, если NGINX использует прокси, он обычно использует один файловый дескриптор для соединения с клиентом, а другой - для соединения с проксируемым сервером, хотя это соотношение намного ниже, если используются HTTP keepalive.

...