Re: как работает proxy_busy_buffers_size?

Maxim Dounin mdounin на mdounin.ru
Пт Янв 14 15:22:45 MSK 2011


Hello!

On Fri, Jan 14, 2011 at 11:49:01AM +0000, Max Ivanov wrote:

> Добрый день!
> 
> Кто-нибудь знает как работает  proxy_busy_buffers_size? Нигде не смог
> найти описание, есть только сообщение в этой рассылке от 2006 года:
> http://article.gmane.org/gmane.comp.web.nginx.russian/5143/

Логика работы с тех пор не поменялась.

> Правильно ли я понимаю, что в этом параметре задается размер буфера из
> которого будет отдаваться ответ клиенту не дожидаясь всего ответа от
> upstream? Но что он конкретно он дает, т.е. в каких случаях куда его
> крутить?

Крутить практически никогда не надо.

> Если ответ умещается в буферы то каким образом читать из памяти уже
> все равно и будет одинаково быстро.

Да, но не совсем.  Лучше отправить данные за минимальное 
количество вызовов цепочки фильтров.  При малом значении 
busy_buffers - количество вызовов увеличивается.

> Если upstream отдает быстрее скорости соединения клиента и данные надо
> скидывать на диск,  то мы ограничены скоростью диска, какие бы буферы
> мы не выставляли.

Диск будет быстрее работать если на него пишут разумно большими 
блоками, ибо меньше seek'ов, т.е. busy buffers стоит ограничить.  
Ну и читать из upstream'а в пачку буферов тоже быстрее, меньше 
syscall'ов.

> Если же upstream медленнее клиента, то буферы будут опустошаться
> клиентом быстрее чем попадут на диск, и игра с proxy_busy_buffers_size
> ни на что не влияет.

Да.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru