Re: Не отдаёт ответ пока буфер не наполнится

Vadim A. Misbakh-Soloviov mva at mva.name
Thu Dec 18 18:15:36 UTC 2014


В письме от Чт, 18 декабря 2014 13:00:28 пользователь sofiamay написал:
> но ведь при этом Nginx не будет получать максимально быстро

А как будет? Не максимально быстро? :)

Нет никакой магии. С буферизацией ответа NginX сначала получает ответ, потом 
отдаёт его. Без буферизации — отдаёт сразу как получил (естественно, трятя 
определённое к-во микросекунд на проход мимо себя).

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

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


> Теряется весь смысл в буферах и их полезности.

см. выше.

> Я конечно же спрашиваю о другом - как настроить чтобы Nginx по прежнему
> принимал максимально быстро весь ответ от Апача

Он итак его принимает максимально быстро, на сколько может (на сколько быстро 
его отдаёт бекенд + задержки на путь от бекенда до NgX + пучок микросекунд на 
внутренние проверки).


> но при этом начинал его передавать сразу же с первого байта.

Это взаимоисключающие параграфы. Либо NginX принимает весь ответ в буфер и 
сразу после принятия отдаёт его, либо он отдаёт его сразу как получил. Или 
так, или так. Третьего не дано.

> Что я делаю не так?

Не понимаете сути вещей, например :) // или плохо читаете документацию и код. 
Или и то и другое. Тут сложно судить не будучи телепатом.


-- 
Best regards,
mva
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20141219/f9e30c08/attachment-0001.bin>


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