Ich habe eine ziemlich große und langsame (komplexe Daten, komplexes Frontend) Webanwendung eingebaut RoR
und Puma
mit einem nginx
Reverse-Proxy bedient. Wenn nginx
ich 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_size
und 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_buffering
oderproxy_max_temp_file_size
auf 0 zu setzen ? Warum?Wenn
nginx
eine Antwort gepuffert wird: Wann wird die gepufferte Antwort an wen und warum gesendet?Warum
nginx
schaltet sichproxy_buffering
standardmäß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.