ทำไม 'multi_accept' 'off' เป็นค่าเริ่มต้นใน Nginx


คำตอบ:


13

อาจเป็นเพราะเมื่อเปิดกระบวนการของผู้ปฏิบัติงานทั้งหมดจะทำงานอยู่และพยายามจัดการคำขอขาเข้าทั้งหมดพร้อมกัน เมื่อปิดใช้งาน Nginx จะตัดสินใจว่ากระบวนการลูกใดที่จะจัดการกับคำขอทีละรายการ เนื่องจาก Nginx มีประสิทธิภาพมากในเรื่องนี้สิ่งนี้อาจทำหน้าที่คนส่วนใหญ่ได้ดี บางคนคิดว่าเป็นความเสี่ยงในการเปิดใช้งานเพราะอาจทำให้การเชื่อมต่อของผู้ปฏิบัติงานกับการร้องขอ การตั้งค่า TCP ของคุณในระดับระบบปฏิบัติการอาจเป็นส่วนหนึ่งของสิ่งนี้


3
ฉันมีสถานการณ์ที่แน่นอน ฉันได้ลองค้นหาคำสั่ง auto_rlimit_nofile, worker_connections และ worker_processes ว่าทำอะไร Nginx เป็น reverse proxy สำหรับแอปพลิเคชั่นที่รับ websockets การกำหนดค่า Nginx อนุญาตการเชื่อมต่อ 50 ครั้งสำหรับผู้ปฏิบัติงานทุกคน เมื่อฉันมีพนักงานสองคน (ดังนั้นควรสร้างการเชื่อมต่อ 100 รายการ) และ multi_accept เกิดขึ้นฉันได้รับข้อผิดพลาดที่ไม่สามารถสร้างเว็บซ็อกเก็ตได้ เมื่อ multi_accept ปิดทุกอย่างทำงานได้อย่างสมบูรณ์
Hamburml
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.