Ho una piuttosto grande e lento (dati complessi, frontend complesso) costruire applicazioni web in RoR
e servito da Puma
con nginx
come proxy inverso. Guardando il nginx
registro 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_size
e 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_buffering
o impostareproxy_max_temp_file_size
su 0? Perché?Se
nginx
bufferizza una risposta: quando serve la risposta bufferizzata, a chi e perché?Perché
nginx
siproxy_buffering
attiva 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.