devpoll_events

`devpoll_events` 指令配置 NGINX 使用 DEVPOLL 事件通知机制来管理连接。 — NGINX Core

devpoll_events
events
语法devpoll_events;
默认值none
上下文events
模块NGINX Core
参数1

说明

`devpoll_events` 指令在 `events` 上下文中指定时,会在 NGINX 的事件驱动架构中启用 DEVPOLL 机制来处理连接。DEVPOLL 可在 Solaris 及其他类 Unix 系统的某些变体上使用,提供了一种可扩展的方法来处理大量并发连接。通过使用 DEVPOLL,NGINX 可以高效地监视并响应文件描述符上的事件,而无需执行 O(n) 线性扫描——这种扫描在诸如 select() 或 poll() 等其他事件模型中可能成为瓶颈。 该指令不接受任何参数,通常用于在高负载条件下优化服务器应用的性能。它允许 worker 进程进入睡眠并以响应方式处理传入连接或其他事件,从而由于较少的上下文切换和整体系统响应性的提高而促进更好的 CPU 使用率和性能指标。它主要有利于预期会有大量并发连接的环境,例如处理数千用户的 Web 服务器。

配置示例

events {
    devpoll_events;
}

确保您的操作系统支持 DEVPOLL,因为该指令仅适用于实现此机制的系统。

即使启用了 DEVPOLL,如果错误配置 NGINX 的工作进程,也会导致性能不佳。