1) How can I remove the [warn] and avoid buffering responses? Is it better to turn off proxy_buffering or set proxy_max_temp_file_size to 0? Why?
Você deve definir proxy_max_temp_file_size
para 0 para removê-lo. A diretiva proxy_buffering
não está diretamente relacionada ao aviso. Você pode desativá-lo para parar qualquer buffer, mas isso não é recomendado em geral (a menos que seja necessário para Comet ).
2) If nginx buffers a response when does it serve the buffered response, to whom and why?
Ele é servidor imediatamente, mas um cliente geralmente tem uma conexão muito mais lenta e não pode consumir os dados de resposta tão rapidamente quanto produzidos pelo seu aplicativo. O Nginx tenta armazenar em buffer toda a resposta para liberar seu aplicativo o mais rápido possível.
Veja também: link
3) Why nginx turns proxy_buffering on by default and then [warn]s you if it actually buffers a response?
Como já mencionei, o proxy_buffering
não está diretamente relacionado ao aviso. Geralmente, é necessário para operações de proxy otimizadas e desativá-lo de maneira a diminuir o desempenho e a taxa de transferência.
O Nginx só avisa quando uma resposta não se encaixa nos buffers de memória configurados. Você pode ignorar o aviso se estiver tudo bem para você.
4) When does a response triggers that option? When it takes > than some seconds (how many?) to serve the response? Is this configurable?
Aciona quando os buffers de memória estão cheios. Por favor, olhe para os documentos, todo o mecanismo é explicado: link
Você pode querer aumentar os buffers de memória.