http2_recv_buffer_size

Задает размер буфера приёма для HTTP/2-соединений в NGINX. — NGINX HTTP Core

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

Описание

Директива `http2_recv_buffer_size` в NGINX используется для указания размера буфера, выделяемого для обработки входящего трафика HTTP/2. Эта директива критически важна для оптимизации способности сервера обрабатывать разные типы запросов, особенно при работе с множеством одновременных соединений, характерных для HTTP/2. По умолчанию значение не задано, что может привести либо к низкой производительности под высокой нагрузкой, либо к чрезмерному использованию памяти при слишком большом значении. Поэтому важно подобрать размер буфера с учётом ожидаемых шаблонов трафика и ресурсов сервера. При задании этой директивы она принимает один аргумент — размер, который можно указывать в байтах, килобайтах или мегабайтах (например, 1m для 1 мегабайта). Буфер используется преимущественно при чтении входящих данных от клиента, создавая контролируемую среду для управления HTTP/2-фреймами, передаваемыми по соединению. Установка слишком маленького буфера может привести к падению производительности или увеличению задержки, поскольку серверу потребуется более частое чтение из сокета. Напротив, чрезмерно большой буфер может привести к расточительному использованию оперативной памяти сервера, особенно при большом числе соединений. Следовательно, следует внимательно определить оптимальный размер буфера для каждого сервера в зависимости от ожидаемой нагрузки и доступных ресурсов.

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

http {
    http2_recv_buffer_size 256k;
}

Убедитесь, что размер буфера правильно установлен в соответствии с ожидаемым объёмом трафика; слишком маленький может привести к проблемам с производительностью, слишком большой — к избыточному расходу памяти.

Неправильная конфигурация может привести к непредсказуемому поведению сервера или исчерпанию ресурсов под нагрузкой.