aio

The 'aio' directive enables asynchronous I/O operations in NGINX for improved performance.

Syntaxaio on | off | io_uring;
Defaultoff
Contexthttp, server, location
Arguments1

Description

The 'aio' directive in NGINX allows for the configuration of asynchronous I/O operations for file reading and writing. By enabling asynchronous I/O, NGINX can handle more connections because it does not block on I/O operations, allowing it to continue processing other requests while waiting for file operations to complete. This is particularly beneficial for applications that serve static files or perform file uploads/downloads.

This directive accepts a single argument, which specifies the method of asynchronous I/O to use. For Unix-like operating systems, valid options are off (to disable asynchronous I/O), on (to enable it), or io_uring (to use the io_uring interface for asynchronous I/O operations, where supported). When set, NGINX will use asynchronous I/O for read/write operations on files, significantly increasing throughput under heavy load while maintaining lower latency.

Config Example

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

Ensure your operating system supports the selected I/O method (e.g., io_uring requires a recent version of the Linux kernel).

Be cautious of potential increased complexity in debugging asynchronous operations compared to traditional blocking I/O.

← Back to all directives