Saya memiliki aplikasi web yang agak besar dan lambat (data kompleks, antarmuka rumit) dibangun RoRdan dilayani Pumadengan nginxsebagai proxy terbalik. Melihat nginxlog kesalahan, saya melihat beberapa entri seperti:
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"
Saya agak ingin tahu karena sangat tidak mungkin bahwa halaman tetap sama untuk pengguna yang berbeda dan interaksi pengguna yang berbeda, dan saya tidak akan berpikir bahwa buffering respon pada disk diperlukan / berguna.
Saya tahu tentang proxy_max_temp_file_sizedan mengaturnya ke 0, tetapi bagi saya agak canggung (proxy saya mencoba untuk buffer tetapi tidak memiliki file di mana buffer ke ... bagaimana bisa lebih cepat?).
Pertanyaan saya adalah:
Bagaimana saya bisa menghapus [memperingatkan] dan menghindari tanggapan buffering? Apakah lebih baik mematikan
proxy_bufferingatau mengaturproxy_max_temp_file_sizeke 0? Mengapa?Jika
nginxmenyangga respons: Kapan respons melayani buffer, kepada siapa, dan mengapa?Mengapa
nginxdihidupkanproxy_bufferingsecara default dan kemudian [memperingatkan] apakah Anda benar-benar memberikan respons?Kapan respons memicu opsi itu? Kapan dibutuhkan> beberapa detik (berapa banyak?) Untuk melayani tanggapan? Apakah ini dapat dikonfigurasi?
TIA, ngw.