Her şeyden önce, listenizdeki hangi öğelerin vurabileceğiniz ve hangilerinin kullanamayacağınız ölçekleme sınırları olduğunu anlamanız gerekir. Bunlardan bazıları uygulamaya bağımlıdır, bu nedenle dahili olarak, örneğin RabbitMQ in Action kitabının okunmasına yardımcı olur.
Kuyruk sayısı RAM'inizle sınırlıdır. Diğer taraftan, çalınan mesajların sayısı RAM ile sınırlı değildir, çünkü RabbitMQ bunları otomatik olarak diske yazdırır. Bir keresinde, dikkat etmediğim bir geliştirme sunucusunda yanlışlıkla neredeyse 8 milyon mesaj aldım.
Ayrıca mesaj boyutlarında bir sınır yoktur, ancak tek bir mesajın boyutu 512K'yı aşarsa gerçekten iki kez düşünmelisiniz. Uygulamalar arasında büyük nesneleri geçirmek için bir bellek önbelleği kullandım ve sadece bir memcache anahtarı içeren daha küçük kontrol mesajları gönderdim. Ancak gerçekten isterseniz, JAR dosyaları gibi büyük JPEG'leri ve ikili nesneleri mesaj olarak gönderebilirsiniz.
Bir abonenin en az bir TCP soketine açık olması gerektiğinden abone sayısı bir işletim sistemi sınırıdır. Tabii ki çoğu işletim sisteminde ayarlanabilir, bu nedenle kilometreniz değişecek ve bu yüzden modelinizi test etmeniz gerekiyor. Web uygulamalarımızı test etmek için JMETER kullanıyorum ve bu AMQP eklentisini keşfettim https://github.com/jlavallee/JMeter-Rabbit-AMQP ama henüz kullanmadım. Her durumda, bu, donanımınızın (veya VM yapılandırmanızın) makul bir şekilde ne işleyeceğini hızlı bir şekilde anlatacak türden bir testtir.
Sahip olduğunuz tek zor şey, çok sayıda tüketiciyi fanout kuyruklarına test etmektir. Bunun yerine, bir konu değişimi kullanarak karşılaştırmak isteyebilirsiniz, aynı sonucu elde eden bir joker karakter (*) bağlama anahtarı kullanarak abone olan tüketicilerle karşılaştırmak isteyebilirsiniz. Tüketici işlemlerini çalıştıran tek bir sunucunun neden olduğu bir darboğazda bir şekilde çalışmadığınızdan emin olmak için bu testi olabildiğince çok farklı makine ile çalıştırmayı deneyin. Jmeter eklentisinin benzediği PS tüketicileri simüle etmek için de yararlı olabilir.