Ich habe eine ziemlich große und langsame (komplexe Daten, komplexes Frontend) Webanwendung eingebaut RoRund Pumamit einem nginxReverse-Proxy bedient. Wenn nginxich mir das Fehlerprotokoll ansehe, sehe ich einige Einträge wie:
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"
Ich bin ziemlich neugierig, da es sehr unwahrscheinlich ist, dass die Seite für verschiedene Benutzer und verschiedene Benutzerinteraktionen gleich bleibt, und ich würde nicht denken, dass das Puffern der Antwort auf der Festplatte notwendig / nützlich ist.
Ich kenne es proxy_max_temp_file_sizeund setze es auf 0, aber es scheint mir ein bisschen umständlich (mein Proxy versucht zu puffern, hat aber keine Datei zum Puffern ... wie kann das schneller sein?).
Meine Fragen sind:
Wie kann ich die [Warnung] entfernen und das Puffern von Antworten vermeiden? Ist es besser auszuschalten
proxy_bufferingoderproxy_max_temp_file_sizeauf 0 zu setzen ? Warum?Wenn
nginxeine Antwort gepuffert wird: Wann wird die gepufferte Antwort an wen und warum gesendet?Warum
nginxschaltet sichproxy_bufferingstandardmäßig aktiviert und dann [warnen] s Sie , ob es tatsächlich eine Antwort Puffer?Wann löst eine Antwort diese Option aus? Wann dauert es> einige Sekunden (wie viele?), Um die Antwort zu liefern? Ist das konfigurierbar?
TIA, ngw.