On Thursday 18 December 2014 13:54:53 sofiamay wrote: [..] > Вы немножко меня не правильно поняли :-) Я предполагал что Nginx умеет > одновременно и получать и отдавать свой буфер. Т.е. получил первый байт в > буфер и тут же начинает передавать ответ клиенту при этом продолжая получать > данные в буфер. Это как бы совместный доступ к буферу, один поток наполняет, > а второй одновременно считывает и передаёт клиенту. [..]
Неблокирующиеся чтение и запись данных из/в сокет - это по сути операции копирования в памяти, очень быстрые. Делать это одновременно в разных потоках будет только дороже. Так что вся ваша идея, по крайней мере в такой формулировке, лишена смысла и nginx уже работает эффективно в этом месте. Значение off в proxy_buffering, как это и изложено в документации, все равно подразумевает наличие буфера, размер которого регулируется директивой proxy_buffer_size. Если он достаточно велик, чтобы вместить в себя весь ответ, то по возможности он будет получен полностью и это ни чем существенно по эффективности не будет отличаться от режима "on". Ваша проблема видимо в том, что бекенд не отдает весь ответ сразу, а делает это постепенно маленькими порциями, так что непонятно, как вы намереваетесь его освободить. Такому бекенду уже ничем не поможешь и режима работы proxy_buffering off для него будет вполне достаточно. -- Валентин Бартенев _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
