При проектировании высоконагруженных обратных прокси-узлов на базе Nginx инженеры часто сталкиваются с исчерпанием файловых дескрипторов и задержками при установлении TLS-соединений.
1. Системные лимиты дескрипторов
worker_processes auto;
worker_rlimit_nofile 100000;
events {
worker_connections 32768;
use epoll;
multi_accept on;
}
Параметр worker_rlimit_nofile позволяет рабочим процессам Nginx открывать сокеты сверх стандартного лимита операционной системы, предотвращая ошибки EMFILE (Too many open files).
2. Keepalive пулы до апстримов
Повторное использование TCP-сессий до бэкенд-узлов позволяет экономить ресурсы процессора на TLS-хендшейках и снижает задержку ответа на 40-60%.