devpoll_events
Директива `devpoll_events` настраивает NGINX на использование механизма уведомления о событиях DEVPOLL для управления соединениями. — NGINX Core
Описание
Директива `devpoll_events`, когда указана в контексте `events`, включает механизм DEVPOLL для обработки соединений в событийно-ориентированной архитектуре NGINX. DEVPOLL, доступный в Solaris и в вариантах других Unix-подобных систем, предлагает масштабируемый способ обработки большого числа одновременных соединений. Используя DEVPOLL, NGINX может эффективно мониторить и реагировать на события на файловых дескрипторах без необходимости выполнения O(n) линейных сканирований, которые могут стать узким местом в других моделях событий, таких как select() или poll(). Эта директива не принимает аргументов и обычно используется для оптимизации производительности серверных приложений при высокой нагрузке. Она позволяет рабочим процессам переходить в спящий режим и реактивно обрабатывать входящие соединения или другие события, что способствует лучшему использованию CPU и показателям производительности за счёт уменьшения переключений контекста и повышенной общей отзывчивости системы. В основном это приносит пользу в окружениях, где ожидается значительное число одновременных соединений, например веб-серверам, обслуживающим тысячи пользователей.
Пример конфига
events {
devpoll_events;
}Убедитесь, что ваша операционная система поддерживает DEVPOLL, поскольку эта директива применима только на системах, реализующих этот механизм.
Неправильная настройка рабочих процессов NGINX может привести к неоптимальной производительности даже при включенном DEVPOLL.