上游响应被缓冲到一个临时文件
我有一个相当大的和缓慢的(复杂的数据,复杂的前端)的Web应用程序建立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,ngw。