Буферы Nginx задают возможность использования оперативной памяти для сохранения представляющей ценность информации. Их размер задается в конфигурационном файле и определяет будет ли использоваться оперативная память или все будет записываться на диск.
Размер буферов задается в зависимости от количества доступных серверу ресурсов. Если их много значения можно можно увеличивать.
Буферы Nginx — client_body_buffer_size и другие
Размер буферов определяется четырьмя директивами в конфигурационном файле, в секции server либо в http:
client_body_buffer_size
client_header_buffer_size
client_max_body_size
large_client_header_buffers
Первая директива определяет размер буфера под основное содержимое поступившего от клиента запроса, вторая — размер буфера под заголовок запроса. client_max_body_size — максимальный размер основного содержимого клиентского запроса.
large_client_header_buffers принимает два значения, разделенных пробелами: максимальное числом и размер буферов для чтения большого заголовка запроса клиента.
Значение размера буфера всегда должно быть меньше client_body_buffer_size, иначе возникнет ошибка 414 (Request-URI Too Large).
Также оно должно быть меньше client_header_buffer_size. В противном случае вернется ошибка 400 (Bad Request).
По умолчанию размер одного буфера равен 8K байт.
В конфигурационном файле для не самого мощного сервера значения буферов могут быть такими:
client_body_buffer_size 20K;
client_header_buffer_size 4k;
client_max_body_size 12m;
large_client_header_buffers 2 12k;
На скриншоте фрагмент основного конфигурационного файла веб-сервера с буферами Nginx
Менять значения стоит если имеют место проблемы с производительностью или возникает одна из упомянутых выше ошибок.
Если определенная директива уже присутствует в настройках в том же конексте (про контексты по ссылке в конце материала) — нужно поменять её значение. При добавлении второй такой же директивы в тот же контекст тест конфигурации не пройдет.
При этом в разные контексты правила добавлять можно. Задать их можно для каждого виртуального хоста — для каждого сайта (в секции server) или для всего сервера (в секции http).
Читайте про конфигурационные файлы Nginx и контексты и виртуальные хосты.