Ho una piuttosto grande e lento (dati complessi, frontend complesso) costruire applicazioni web in RoRe servito da Pumacon nginxcome proxy inverso. Guardando il nginxregistro degli errori, vedo alcune voci come:
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"
Sono piuttosto curioso in quanto è molto improbabile che la pagina rimanga la stessa per utenti diversi e interazioni utente diverse, e non penserei che il buffering della risposta su disco sia necessario / utile.
Conosco proxy_max_temp_file_sizee lo setto su 0, ma mi sembra un po 'imbarazzante (il mio proxy cerca di bufferizzare ma non ha file dove bufferizzare ... come può essere più veloce?).
Le mie domande sono:
Come posso rimuovere [avvisa] ed evitare risposte di buffering? È meglio disattivare
proxy_bufferingo impostareproxy_max_temp_file_sizesu 0? Perché?Se
nginxbufferizza una risposta: quando serve la risposta bufferizzata, a chi e perché?Perché
nginxsiproxy_bufferingattiva per impostazione predefinita e quindi [avvisa] se in realtà respinge una risposta?Quando una risposta attiva questa opzione? Quando ci vogliono> alcuni secondi (quanti?) Per servire la risposta? È configurabile?
TIA, ngw.