ก่อนอื่นคุณต้องเข้าใจว่ารายการใดในรายการของคุณมีขีด จำกัด ที่คุณอาจได้รับ สิ่งเหล่านี้ขึ้นอยู่กับการนำไปใช้งานซึ่งจะช่วยในการอ่านข้อมูลเกี่ยวกับเรื่องภายในเช่นหนังสือ RabbitMQ ในการดำเนินการ
จำนวนคิวถูก จำกัด โดย RAM ของคุณ ในทางกลับกันจำนวนข้อความที่กำลังเล่นไม่ได้ถูก จำกัด โดย RAM เพราะ RabbitMQ จะส่งออกไปยังดิสก์โดยอัตโนมัติ เมื่อฉันบังเอิญได้รับข้อความเกือบ 8 ล้านข้อความในเซิร์ฟเวอร์การพัฒนาเมื่อฉันไม่ได้สนใจ
นอกจากนี้ยังไม่มีการ จำกัด ขนาดของข้อความ แต่คุณควรคิดสองครั้งจริง ๆ ถ้าขนาดของข้อความเดียวเกิน 512K ฉันลงเอยด้วยการใช้แคชหน่วยความจำเพื่อส่งผ่านวัตถุขนาดใหญ่ระหว่างแอปพลิเคชันและส่งข้อความควบคุมที่มีขนาดเล็กลงซึ่งมีคีย์ memcache เท่านั้น แต่ถ้าคุณต้องการคุณสามารถส่งวัตถุ JPEG และไบนารีขนาดใหญ่เช่นไฟล์ JAR เป็นข้อความได้
จำนวนสมาชิกคือขีด จำกัด ของระบบปฏิบัติการเนื่องจากผู้สมัครสมาชิกต้องการเปิดซ็อกเก็ต TCP อย่างน้อยหนึ่งแห่ง แน่นอนว่าสามารถปรับได้ในระบบปฏิบัติการส่วนใหญ่ดังนั้นระยะของคุณจะแตกต่างกันไปและนั่นคือเหตุผลที่คุณต้องทดสอบแบบจำลองของคุณ ฉันใช้ JMETER เพื่อทดสอบการใช้งานเว็บของเราและฉันเพิ่งค้นพบปลั๊กอิน AMQP นี้https://github.com/jlavallee/JMeter-Rabbit-AMQPแต่ยังไม่ได้ใช้ ไม่ว่าในกรณีใด ๆ นี่เป็นการทดสอบชนิดหนึ่งที่จะบอกคุณได้อย่างรวดเร็วว่าฮาร์ดแวร์ของคุณ (หรือการกำหนดค่า VM) จะจัดการได้อย่างสมเหตุสมผล
สิ่งเดียวที่ยากที่สุดที่คุณมีคือการทดสอบผู้บริโภคจำนวนมากในการจัดคิว fanout คุณอาจต้องการเปรียบเทียบโดยใช้การแลกเปลี่ยนหัวข้อแทนโดยผู้บริโภคที่สมัครรับข้อมูลโดยใช้คีย์การเชื่อมโยงตัวแทน (*) ซึ่งได้ผลลัพธ์ที่เหมือนกัน ลองใช้การทดสอบนี้กับเครื่องจักรที่แตกต่างกันมากเท่าที่จะทำได้เพื่อให้แน่ใจว่าคุณไม่ได้ทำงานในคอขวดที่เกิดจากเซิร์ฟเวอร์เดียวที่ใช้กระบวนการผู้บริโภค PS ที่ปลั๊กอิน Jmeter ดูเหมือนว่ามันอาจเป็นประโยชน์ในการจำลองผู้บริโภค