request_pool_size

Директива `request_pool_size` задаёт размер пулов памяти, выделяемых для обработки запросов. — NGINX HTTP Core

request_pool_size
httpserver
Синтаксисrequest_pool_size size;
По умолчаниюnone
Контекстhttp, server
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `request_pool_size` определяет, сколько памяти выделяется для каждого входящего запроса в NGINX. Настроив эту директиву, администраторы могут оптимизировать использование памяти для запросов в соответствии с потребностями приложения. Это особенно полезно в сценариях с большим количеством одновременных запросов, что позволяет лучше управлять памятью и потенциально повышать общую производительность. Размер, указанный для `request_pool_size`, применяется в процессе обработки запроса, поэтому больший пул может позволить более эффективно обрабатывать ресурсоёмкие операции в рамках одного запроса. Этот параметр имеет ключевое значение, так как влияет на то, как NGINX управляет временными данными, буферами и другими ресурсами, связанными с запросом. Малый пул может привести к увеличению операций выделения и освобождения памяти, что при высокой нагрузке способно вызвать проблемы с производительностью. Важно отметить, что память, выделенная для запросов, отделена от других пулов памяти, используемых NGINX для обработки соединений и буферизации, и поэтому должна настраиваться исходя из ожидаемой нагрузки и типов запросов, обрабатываемых сервером.

Пример конфига

http {
    request_pool_size 32k;
}

Установка `request_pool_size` слишком низко может привести к увеличению выделения памяти и накладных расходов при обработке запросов, что вызовет ухудшение производительности.

Превышение системных ограничений по памяти может привести к сбоям или непредсказуемому поведению в NGINX, если размеры пулов запросов слишком велики.