मेरे पास एक बड़ा और धीमा (जटिल डेटा, जटिल सीमांत) वेब एप्लिकेशन 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_size0 पर सेट करना बेहतर है ? क्यों?यदि
nginxबफ़र्स की प्रतिक्रिया होती है: यह बफ़र्ड प्रतिक्रिया कब, किससे और क्यों मिलती है?क्यों
nginxबदल जाता हैproxy_bufferingडिफ़ॉल्ट रूप से चालू हैं और फिर [चेतावनी दी है] आप ही करता है, तो यह वास्तव में एक प्रतिक्रिया बफ़र्स?जब एक प्रतिक्रिया उस विकल्प को ट्रिगर करती है? जब यह प्रतिक्रिया प्राप्त करने के लिए> कुछ सेकंड (कितने?) लेता है क्या यह विन्यास योग्य है?
टीआईए, एनजीडब्ल्यू।