Mam dość duże i powolne (złożonych danych, złożone frontend) aplikację internetową Wbudowany RoR
i serwowane przez Puma
się nginx
jako reverse proxy. Patrząc na nginx
dziennik błędów, widzę sporo wpisów, takich jak:
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"
Jestem raczej ciekawy, ponieważ jest mało prawdopodobne, aby strona pozostała taka sama dla różnych użytkowników i różnych interakcji użytkowników, i nie sądzę, że buforowanie odpowiedzi na dysku jest konieczne / przydatne.
Wiem o tym proxy_max_temp_file_size
i ustawiam na 0, ale wydaje mi się to trochę niewygodne (mój serwer proxy próbuje buforować, ale nie ma pliku, w którym można buforować ... jak to może być szybsze?).
Moje pytania to:
Jak mogę usunąć [ostrzeżenie] i uniknąć buforowania odpowiedzi? Czy lepiej jest wyłączyć,
proxy_buffering
czy ustawićproxy_max_temp_file_size
na 0? Dlaczego?Jeśli
nginx
buforuje odpowiedź: Kiedy służy buforowanej odpowiedzi, do kogo i dlaczego?Dlaczego
nginx
włączaproxy_buffering
się domyślnie, a następnie [ostrzega] użytkownika, jeśli faktycznie buforuje odpowiedź?Kiedy odpowiedź wyzwala tę opcję? Kiedy zajmuje> kilka sekund (ile?), Aby odpowiedzieć? Czy to można skonfigurować?
TIA, ngw.