worker_aio_requests

'worker_aio_requests' 指令配置每个 worker 进程可以同时执行的异步 I/O 操作的最大数量。 — NGINX Core

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

说明

'worker_aio_requests' 指令在 'events' 上下文中使用,用于指定每个 NGINX worker 进程可处理的同时异步 I/O (AIO) 请求数上限。该指令在 NGINX 用于传输静态文件或通过异步机制高效处理大型媒体文件的场景中特别有用。通过设置此指令,管理员可以更好地管理 worker 进程的资源使用,并根据服务器能力和工作负载的性质优化性能。 设置时,指定的值应为正整数,表示 worker 可排队的最大 AIO 请求数。如果某个 worker 超过该数,它将无法接受更多的 AIO 请求,直到部分排队请求完成。该指令有助于调整大量使用异步文件操作的 NGINX 应用的性能,在吞吐量与资源消耗之间取得平衡。因此,其值应基于具体工作负载和测试来确定,以保证在不使 worker 进程过载的前提下实现最佳性能。 'worker_aio_requests' 的行为会显著影响服务器的响应时间和整体容量,尤其是在高负载场景下。因此,必须监控服务器性能并根据应用需求和底层硬件能力在必要时调整该值。

配置示例

events {
    worker_aio_requests 1024;
}

将此值设置得过低可能会在高负载下导致性能瓶颈,因为 AIO 请求可能会被阻塞。

将其设置得过高可能会导致内存使用增加和潜在的资源耗尽,尤其是在低端硬件上高并发时。