ฉันมีคำถามเกี่ยวกับการกำหนดค่า haproxy ของฉัน:
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
log 127.0.0.1 syslog emerg
maxconn 4000
quiet
user haproxy
group haproxy
daemon
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http
log global
option abortonclose
option dontlognull
option httpclose
option httplog
option forwardfor
option redispatch
timeout connect 10000 # default 10 second time out if a backend is not found
timeout client 300000 # 5 min timeout for client
timeout server 300000 # 5 min timeout for server
stats enable
listen http_proxy localhost:81
balance roundrobin
option httpchk GET /empty.html
server server1 myip:80 maxconn 15 check inter 10000
server server2 myip:80 maxconn 15 check inter 10000
อย่างที่คุณเห็นมันตรงไปตรงมา แต่ฉันสับสนเล็กน้อยเกี่ยวกับคุณสมบัติของ maxconn ทำงานอย่างไร
มี global one และ maxconn บนเซิร์ฟเวอร์ในบล็อกการฟัง ความคิดของฉันคือคนทั่วโลกจัดการจำนวนการเชื่อมต่อทั้งหมดที่ haproxy ในฐานะบริการจะจัดคิวหรือประมวลผลในครั้งเดียว หากตัวเลขสูงกว่านั้นมันจะฆ่าการเชื่อมต่อหรือพูลในซ็อกเก็ต linux บางตัว? ฉันไม่รู้ว่าจะเกิดอะไรขึ้นถ้าตัวเลขสูงกว่า 4000
จากนั้นคุณตั้งค่าคุณสมบัติเซิร์ฟเวอร์ maxconn ไว้ที่ 15 ก่อนอื่นฉันตั้งค่าที่ 15 เนื่องจาก php-fpm ของฉันกำลังส่งต่อไปยังเซิร์ฟเวอร์แยกต่างหากมีเพียงกระบวนการย่อยจำนวนมากเท่านั้นที่สามารถใช้ได้ดังนั้นฉันจึงแน่ใจว่าฉันเป็น รวบรวมคำขอที่นี่แทนที่จะเป็น php-fpm ซึ่งผมคิดว่าเร็วกว่า.
แต่กลับไปที่หัวข้อทฤษฎีของฉันเกี่ยวกับจำนวนนี้คือแต่ละเซิร์ฟเวอร์ในบล็อกนี้จะส่งการเชื่อมต่อครั้งละ 15 ครั้งเท่านั้น จากนั้นการเชื่อมต่อจะรอให้เซิร์ฟเวอร์เปิด หากฉันเปิดคุกกี้การเชื่อมต่อจะรอให้เซิร์ฟเวอร์เปิด CORRECT แต่ฉันไม่ทำ
คำถามคือ:
- จะเกิดอะไรขึ้นถ้าการเชื่อมต่อทั่วโลกสูงกว่า 4000? พวกเขาตาย? หรือพูลใน Linux อย่างใด?
- การเชื่อมต่อทั่วโลกเกี่ยวข้องกับการเชื่อมต่อเซิร์ฟเวอร์หรือไม่นอกเหนือจากข้อเท็จจริงที่ว่าคุณไม่สามารถมีจำนวนการเชื่อมต่อเซิร์ฟเวอร์ทั้งหมดที่มากกว่าโกลบอล
- เมื่อค้นหาการเชื่อมต่อทั่วโลกไม่ควรเป็นจำนวนการเชื่อมต่อที่เพิ่มในส่วนเซิร์ฟเวอร์บวกเปอร์เซ็นต์ที่แน่นอนสำหรับการรวมกลุ่มหรือไม่? และเห็นได้ชัดว่าคุณมีข้อ จำกัด อื่น ๆ ในการเชื่อมต่อ แต่จริงๆแล้วคุณต้องการส่งไปยังผู้รับมอบฉันทะเป็นจำนวนเท่าใด
ขอบคุณล่วงหน้า.