กำลังพยายามโหลดบาลานซ์แอปของฉันด้วยการใช้ AWS Elastic Load Balancer แอปนี้เป็นผู้ส่ง/ผู้รับที่ใช้ TCP แบบกำหนดเอง

ไม่ว่าในกรณีใด ดูเหมือนว่า ELB จะส่งทราฟฟิก 100% ไปยังเครื่องหนึ่งเครื่อง โดยไม่สนใจอินสแตนซ์อื่นๆ ที่เชื่อมต่ออย่างมีประสิทธิภาพ

ฉันไม่เห็นตัวเลือกในการเปลี่ยนพฤติกรรมของรอบ/โรบิน...

ข้อเสนอแนะ? ขอบคุณ!

answer

หากการรับส่งข้อมูลเพียงอย่างเดียวมาจากการทดสอบของคุณ คุณอาจเข้าสู่เซิร์ฟเวอร์เดิมเสมอ แม้ว่าความเหนียว/ความผูกพันของเซิร์ฟเวอร์จะถูกปิดใช้งาน

หากเซิร์ฟเวอร์อยู่ในโซนความพร้อมใช้งานที่แตกต่างกัน จะมีการตั้งค่า ELB หลายรายการ (หนึ่งรายการในแต่ละ AZ) และทั้งหมดจะถูกส่งคืนในคำขอ DNS สำหรับ ELB ระบบปฏิบัติการจะเลือกอย่างใดอย่างหนึ่งและอาจใช้อันเดียวกันเสมอ

ลองจากภูมิภาคทางภูมิศาสตร์อื่นหรือใส่ทั้งสองอย่างใน AZ เดียวกันและดูว่าคุณจะได้ผลลัพธ์ที่เหมือนกันหรือไม่ หากวิธีนี้ใช้ได้ผล คุณอาจใช้วิธีการตั้งค่าได้ตามปกติ เนื่องจากการรับส่งข้อมูลในโลกแห่งความเป็นจริงจะกระจายไปยัง Availability Zone ทั้งสองแห่ง

เมื่อใช้ AWS ELB การจัดสรรภาระงานไม่ใช่แบบวนซ้ำ สิ่งที่เราพบคือโดยปกติการรับส่งข้อมูลจาก IP เดียวจะไปถึงเซิร์ฟเวอร์เดียวกันเสมอ ดังนั้นแนวทางของเราในการทดสอบตัวโหลดบาลานซ์ที่เหมาะสมคือการใช้การตั้งค่า JMeter แบบกระจายบนอินสแตนซ์ EC2 หลายตัวเพื่อจำลองโหลดจาก IP ที่แตกต่างกัน