У меня довольно большой и медленный (комплекс данных, сложный интерфейс) сборки веб - приложений в RoR
и обслуживается Puma
с в nginx
качестве обратного прокси - сервера. Глядя на nginx
журнал ошибок, я вижу довольно много записей, таких как:
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"
Мне довольно любопытно, так как очень маловероятно, что страница остается одинаковой для разных пользователей и разных взаимодействий пользователей, и я не думаю, что буферизация ответа на диске необходима / полезна.
Я знаю об этом proxy_max_temp_file_size
и устанавливаю его в 0, но мне это кажется немного неловким (мой прокси пытается буферизовать, но не имеет файла, куда его буферизовать ... как это может быть быстрее?)
Мои вопросы:
Как я могу удалить [предупреждение] и избежать буферизации ответов? Лучше выключить
proxy_buffering
или установитьproxy_max_temp_file_size
на 0? Почему?Если
nginx
буферизует ответ: когда он обслуживает буферизованный ответ, кому и почему?Почему по умолчанию
nginx
включаетсяproxy_buffering
, а затем [предупреждает] вас, если он на самом деле буферизует ответ?Когда ответ вызывает эту опцию? Когда для ответа требуется> несколько секунд (сколько?)? Это настраивается?
TIA, нгв.