ฉันมี (ข้อมูลที่ซับซ้อนที่ซับซ้อนส่วนหน้า) ค่อนข้างใหญ่และช้าโปรแกรมประยุกต์บนเว็บในการสร้าง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