Как вычислить fastcgi buffers для nginx?



@speedvm

Доброго времени суток!

Есть nginx + php-fpm. Всё работает, но в логи иногда прилетают сообщения:

... [warn] ... an upstream response is buffered to a temporary file /var/cache/nginx/fastcgi_temp/2/00/0000000002 while reading upstream, client: 192.168.2.50, server: test.site, request: "GET /... HTTP/2.0", upstream: "fastcgi://unix:/run/php/php-fpm.sock:", ...

Гугл подсказывает, что нужно увеличивать fastcgi_buffers и fastcgi_busy_buffers_size, но во всех статьях эти параметры увеличиваются без объяснения, т.е. пишут примерно в таком духе: «Вместо 4k поставьте 32k и будет вам счастье».

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

P.S.: пытался включать уровень debug в nginx, просто охренел от количества инфы, туда заливающейся, но так и не нашёл ответа на вопрос.


Решения вопроса 1



@speedvm Автор вопроса

Здесь всё сжато и цифры в конце вполне понятны:
Avg. 24807 —> fastcgi_buffer_size 32k;
Max. 629622 —> fastcgi_buffers 32 32k;
То есть, если я правильно понял, fastcgi_buffer_size нужно установить таким, чтобы среднее значение в него помещалось, а fastcgi_buffers установить соответственно таким, чтобы помещалось максимальное значение.

Комментировать

Ответы на вопрос 1



@rPman

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

первый же результат из гугла выдает мини исследование с примерами

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *