Score:3

จำกัด Nginx max_conns บนเซิร์ฟเวอร์หลายเครื่อง

ธง br

หากฉันมีเซิร์ฟเวอร์สองบล็อกใน Nginx และทั้งคู่ใช้คำจำกัดความอัพสตรีมเดียวกัน ขีด จำกัด max_conns จะทำงานอย่างไรในกรณีนี้

ฉันสันนิษฐานว่าบล็อกเซิร์ฟเวอร์ทั้งสองจะมีขีดจำกัดการเชื่อมต่อสูงสุด 100 ครั้งและ Keepalive 90 ครั้ง โดยรวมแล้วบล็อกเซิร์ฟเวอร์ต่อไปนี้สามารถมีได้ทั้งหมด 200 max_conns?

ตัวอย่างต้นน้ำ {
    เซิร์ฟเวอร์ example.com:443 max_conns=100;
    Keepalive 90;
}

 เซิร์ฟเวอร์ {

            ฟัง 1.1.1.1:80;
            server_name proxy.site.net;
            proxy_pass https://ตัวอย่าง
            proxy_bind 1.1.1.1 โปร่งใส;
 }
 
  เซิร์ฟเวอร์ {

            ฟัง 1.1.1.2:80;
            server_name proxy.site.net;
            proxy_pass https://ตัวอย่าง
            proxy_bind 1.1.1.2 โปร่งใส;
 }

ต้นทางของฉันมีข้อจำกัดที่ 100 การเชื่อมต่อพร้อมกันต่อ IP ดังนั้นฉันจึงแบ่งทราฟฟิกโดยใช้ IP ที่แตกต่างกันสำหรับแต่ละบล็อกเซิร์ฟเวอร์ดังนั้นฉันต้องการบรรลุการเชื่อมต่อพร้อมกัน 100 ครั้งต่อบล็อกเซิร์ฟเวอร์ (หรือต่อ IP สาธารณะ) ฉันควรทำอย่างไร?

จุดประสงค์ของการมีสองบล็อกเซิร์ฟเวอร์คือเพื่อให้สามารถจัดการคำขอได้สองเท่า

อัปเดต:

Origin เป็นผู้ให้บริการระบบคลาวด์ซึ่งได้กำหนดข้อจำกัดที่เข้มงวดเกี่ยวกับ "การเชื่อมต่อต่อ IP" เพื่อหลีกเลี่ยงการโอเวอร์โหลด ต้นทางบอกว่าทุกที่อยู่ IP สามารถมีการเชื่อมต่อ HTTP พร้อมกันได้สูงสุด 100 รายการ หาก IP เดียวกันพยายามสร้างการเชื่อมต่อหมายเลข 101 ต้นทางจะเกิดข้อผิดพลาด ดังนั้น ฉันต้องการใช้สอง IP เพื่อสร้างการเชื่อมต่อพร้อมกัน 200 รายการไปยังต้นทางในแต่ละครั้ง โปรดช่วยถ้าคุณรู้ว่าควรเปลี่ยนแปลงอะไรในรหัสของฉันเพื่อให้บรรลุผล â

อัปเดต 2:

ด้านล่างนี้คือรหัสล่าสุดที่ฉันใช้เพื่อให้ได้ 200 คำขอต่อวินาทีโดยใช้ DNS round robin บน IP สาธารณะของเซิร์ฟเวอร์ของฉัน

ฉันมี IP ที่แตกต่างกันสองรายการที่รับฟังในบล็อกเซิร์ฟเวอร์สองบล็อกและชื่ออัพสตรีมสองชื่อที่แตกต่างกันสำหรับบล็อกเซิร์ฟเวอร์เหล่านั้น

ตอนนี้ฉันสันนิษฐานว่าหาก 100 คนใช้ IP แรกใน DNS round-robin และ 100 คนถัดไปใช้ IP ที่สอง ฉันจะสามารถให้บริการ 200 คนพร้อมกันได้ แม้ว่าต้นกำเนิดของฉันจะมีข้อจำกัดที่ 100 การเชื่อมต่อต่อ IP

โปรดแจ้งให้เราทราบว่ารหัสนี้ถูกต้องหรือไม่

ตัวอย่างต้นน้ำ {
    เซิร์ฟเวอร์ example.com:443 max_conns=100;
    Keepalive 90;
}

ตัวอย่างต้นน้ำ 2 {
    เซิร์ฟเวอร์ example.com:443 max_conns=100;
    Keepalive 90;
}

 เซิร์ฟเวอร์ {

            ฟัง 1.1.1.1:80;
            server_name proxy.site.net;
            proxy_pass https://ตัวอย่าง
            proxy_bind 1.1.1.1 โปร่งใส;
 }
 
  เซิร์ฟเวอร์ {

            ฟัง 1.1.1.2:80;
            server_name proxy.site.net;
            proxy_pass https://example2
            proxy_bind 1.1.1.2 โปร่งใส;
 }
djdomi avatar
za flag
ไม่ พวกเขาจะมี 100 ตามที่ตั้งไว้ด้านบน แต่ทำไมคุณถึงต้องการใช้ที่จุดนี้
br flag
เพิ่งอัปเดตคำถาม โปรดอ่านคำอธิบายด้านล่างโค้ดตัวอย่าง
djdomi avatar
za flag
ยังคงเหมือนเดิมเนื่องจากขีดจำกัดเป้าหมายตั้งไว้ที่ 100 IMHO คุณไม่ได้เปลี่ยนแปลงอะไร และขีดจำกัด 100 ต่อ IP เดียวไม่ใช่กรณีการใช้งานปกติ IP เดียวสามารถกินการเชื่อมต่อทั้งหมดของคุณในกรณีนั้น ผมเชื่อว่า ยังคงมีปัญหา x และ y และคุณอาจต้องบอกเราเกี่ยวกับแบ็กเอนด์ นอกจากนี้ ฉันคิดว่าคุณต้องการอ่าน[คู่มือ](https://docs.nginx.com/nginx/admin-guide/security-controls/ การควบคุมการเข้าถึงพร็อกซี http/)
br flag
Origin เป็นผู้ให้บริการระบบคลาวด์ซึ่งได้กำหนดข้อจำกัดที่เข้มงวดเกี่ยวกับ "การเชื่อมต่อต่อ IP" เพื่อหลีกเลี่ยงการโอเวอร์โหลด ต้นทางบอกว่าทุกที่อยู่ IP สามารถมีการเชื่อมต่อ HTTP พร้อมกันได้สูงสุด 100 รายการ หาก IP เดียวกันพยายามสร้างการเชื่อมต่อหมายเลข 101 ต้นทางจะเกิดข้อผิดพลาด ดังนั้น ฉันต้องการใช้สอง IP เพื่อสร้างการเชื่อมต่อพร้อมกัน 200 รายการไปยังต้นทางในแต่ละครั้ง โปรดช่วยถ้าคุณรู้ว่าควรเปลี่ยนแปลงอะไรในรหัสของฉันเพื่อให้บรรลุผล
djdomi avatar
za flag
เพิ่มสิ่งนี้เป็นการอัปเดตไม่ใช่ความคิดเห็น
br flag
โปรดดูที่คำถาม "อัปเดต 2" ของฉันและดูว่าสามารถช่วยให้ฉันบรรลุการเชื่อมต่อมากกว่า 100 รายการพร้อมกันได้หรือไม่
djdomi avatar
za flag
อาจใช้งานได้ ทำการทดสอบโหลดและตรวจสอบ คุณไม่จำเป็นต้องระบุพอร์ตเริ่มต้นหากใช้ https บน 443 จำเป็นต้องใช้พอร์ตเฉพาะในกรณีที่ไม่ใช่ 80 สำหรับ http หรือ 443 สำหรับ jttos

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา