LINUX.ORG.RU
решено ФорумAdmin

Правильная настройка nginx: буферизация ответов бэкенда

 , ,


1

1

Привет всем!

Вопрос прост:

у nginx'а есть параметр размера и количества буферов ответа приложения на бэкенде

fastcgi_buffers число размер_одного_буфера

  • Так вот, как лучше делать, немного буферов большого размера или много, но мелких?
  • Отражается ли это на объёме ОЗУ, которую потребляют процессы веб/FastCGI-сервера?
  • Какой оптимальный размер client_max_body_size для среднестатистического веб-приложения? Имеется ввиду, влияет ли значение для client_max_body_size на размер памяти, выделяемый процессам nginx?
★★★★★

Последнее исправление: Twissel (всего исправлений: 2)

Какой оптимальный размер client_max_body_size для среднестатистического веб-приложения?

это не про это :) client_max_body_size - лимит на объём запроса, который посылает клиент. актуально, когда клиент может загружать файлы ( какой-нибудь cms или webdav )

router ★★★★★
()
Ответ на: комментарий от router

Да, я знаю, неправильно сформулировал 3-й пункт, поправлю.

Нужно добавить, влияет ли значение для client_max_body_size на размер памяти, выделяемый процессам nginx.

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от Twissel

влияет ли значение для client_max_body_size на размер памяти, выделяемый процессам nginx.

насколько я помню, нет. если не хватит буферов, запрос пойдёт во временный файл

см. http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

запрос пойдёт во временный файл

Да, nginx, похоже, так и работает. Просто сейчас попался проект, который криво настроили,

только там шли во временный файл ответы php-fpm и забивали диск))

ок, гляну.

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 1)

остальное взгляд с дивана, т.к. у меня нет nginx с fastcgi

с буферизацией для fastcgi то же самое, что и с буферизацией запроса: если разрешена, то ответ сервера идёт в буферы, если не влезет - во временный файл

http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_buffering

http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#fastcgi_buffering

Так вот, как лучше делать, немного буферов большого размера или много, но мелких?

Отражается ли это на объёме ОЗУ, которую потребляют процессы веб/FastCGI-сервера?

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

ИМХО, сначала включаешь мониторинг, потом пробуешь что-то менять и смотришь, соответствует ли ожиданиям и не стало ли хуже. у бесплатной версии nginx status page сильно обрезан, но хоть что-то

router ★★★★★
()
Ответ на: комментарий от Twissel

только там шли во временный файл ответы php-fpm и забивали диск))

ну это конечно жесть, iops'ы дороже памяти

router ★★★★★
()
Ответ на: комментарий от router

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

Логично, спасибо! Проверю.

Twissel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.