Eu tenho um pouco grandes e lentas (dados complexos, complexo frontend) aplicação web construir em RoRe servidos por Pumacom nginxproxy como inversa. Observando o nginxlog de erros, vejo algumas entradas como:
2014/04/08 09:46:08 [warn] 20058#0: *819237 an upstream response is buffered to a temporary file
/var/lib/nginx/proxy/8/47/0000038478 while reading upstream,
client: 5.144.169.242, server: engagement-console.foo.it,
request: "GET /elements/pending?customer_id=2&page=2 HTTP/1.0",
upstream: "http://unix:///home/deployer/apps/conversationflow/shared/sockets/puma.sock:/elements/pending?customer_id=2&page=2",
host: "ec.reputationmonitor.it",
referrer: "http://ec.foo.it/elements/pending?customer_id=2&page=3"
Estou bastante curioso, pois é muito improvável que a página permaneça a mesma para diferentes usuários e diferentes interações, e eu não acho que o buffer da resposta no disco seja necessário / útil.
Eu conheço proxy_max_temp_file_sizee defini-lo como 0, mas me parece um pouco estranho (meu proxy tenta armazenar em buffer, mas não tem nenhum arquivo para armazenar em buffer ... como isso pode ser mais rápido?).
Minhas perguntas são:
Como posso remover o [aviso] e evitar respostas do buffer? É melhor desligar
proxy_bufferingou definirproxy_max_temp_file_sizecomo 0? Por quê?Se
nginxuma resposta é armazenada em buffer: quando ela serve a resposta em buffer, para quem e por quê?Por que
nginxligaproxy_bufferingpor padrão e depois avisa se ele realmente armazena uma resposta?Quando uma resposta aciona essa opção? Quando leva alguns segundos (quantos?) Para servir a resposta? Isso é configurável?
TIA, agora.