aio

'aio' 指令在 NGINX 中启用异步 I/O 操作,以提高性能。 — NGINX HTTP Core

aio
httpserverlocation
语法aio on | off | io_uring;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

'aio' 指令在 NGINX 中允许配置用于文件读写的异步 I/O 操作。通过启用异步 I/O,NGINX 在进行 I/O 操作时不会阻塞,这样它可以处理更多连接,因为在等待文件操作完成时仍能继续处理其他请求。这对提供静态文件或进行文件上传/下载的应用尤为有利。 该指令接受单个参数,用于指定要使用的异步 I/O 方法。对于类 Unix 操作系统,有效选项是 `off`(禁用异步 I/O)、`on`(启用异步 I/O)或 `io_uring`(在支持的情况下使用 io_uring 接口进行异步 I/O 操作)。设置后,NGINX 将对文件的读/写操作使用异步 I/O,在高负载下显著提高吞吐量,同时保持较低的延迟。

配置示例

http {
    aio on;
    server {
        location /files/ {
            root /data;
        }
    }
}

确保你的操作系统支持所选的 I/O 方法(例如,io_uring 需要较新的 Linux kernel 版本)。

注意与传统的 blocking I/O 相比,调试异步操作时可能会更复杂。