aio
Директива 'aio' включает асинхронные операции ввода-вывода в NGINX для повышения производительности. — NGINX HTTP Core
Описание
Директива 'aio' в NGINX позволяет настраивать асинхронные операции ввода-вывода при чтении и записи файлов. При включении асинхронного ввода-вывода NGINX может обслуживать больше соединений, потому что он не блокируется на операциях ввода-вывода, позволяя продолжать обработку других запросов, пока выполняются файловые операции. Это особенно полезно для приложений, которые раздают статические файлы или выполняют загрузку/выгрузку файлов. Эта директива принимает один аргумент, который указывает метод асинхронного ввода-вывода. Для Unix-подобных операционных систем допустимые варианты: `off` (отключить асинхронный ввод-вывод), `on` (включить его) или `io_uring` (использовать интерфейс io_uring для асинхронных операций ввода-вывода, если он поддерживается). При установке NGINX будет использовать асинхронный ввод-вывод для операций чтения/записи файлов, что значительно увеличивает пропускную способность при высокой нагрузке и снижает задержки.
Пример конфига
http {
aio on;
server {
location /files/ {
root /data;
}
}
}Убедитесь, что ваша операционная система поддерживает выбранный метод I/O (например, io_uring требует недавней версии Linux kernel).
Будьте готовы к потенциальному увеличению сложности при отладке асинхронных операций по сравнению с традиционным blocking I/O.