Rabbitmq - Makul performans / ölçek beklentileri


13

Birisi beni rabbitmq ("ortalama" donanım, fwiw) bazı makul ölçekli rakamlar / sınırlamalar yönünde işaret veya performansı ile deneyim gönderebilir eğer minnettar olacaktır. Sıra sayısı, sıradaki abone sayısı, fanout sıralarında yüzlerce veya binlerce dinleyiciye sahip olmanın performans sonuçları, herkesin yüksek kapasiteli bir ortamda tavşan çalıştırabileceği sabit sayılar için kapasite hissi elde etmeye çalışıyorum.


Bunu test etmek son derece basittir, özellikle beklediğiniz sayılarla bazı VM'leri hazırlamak için bir bütçeniz olduğunu düşünün. Kesinlikle kullanacağınız donanıma, tam kullanım durumunuza göre test etmenizi öneririm.
Andrew M.10

CloudAMQP planlarına bir göz atın - bunlar belirli donanım yapılandırmaları için test edilmiş performans numaralarıdır.
Monica'yı eski durumuna getirin - M. Schröder

Yanıtlar:


11

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.


6

Bu gerçekten cevaplanabilir bir soru değil - çok fazla faktör var ("ortalama" donanımın hareketli tanımı, kuyruktaki mesajların boyutu, tüketici sayısı ve ne sıklıkta kirlettikleri / mesajlardaki işi ne kadar çabuk tamamladıkları, vb. .). Gerçekten ortamınızı kıyaslamanız gerekiyor.

Bununla birlikte, RabbitMQ performansı ile ilgili şu tartışmalardan bazılarına göz atın (Tavşandan ne bekleyebileceğinizi görmek için kurulumunuzu nasıl değerlendirebileceğinizle ilgili bazı fikirler dahil):


1
Birçok değişkenin farkındayım. Bu yüzden bir fikrin ne kadar bulanık olduğunu anladığım için "ortalama" donanım gibi şeylerden söz ettim. Yine de insanların deneyimlerinden elde edilen bazı sayıların yararlı olacağını düşündüm. Referanslar için teşekkürler.
user21640

1
@ user21640 Sorunuza sadece tüy getiren donanım değil - Yüksek Frekanslı Ticaret'in sizden ya da benden daha yüksek bir "yüksek kapasite" fikri ve kabul edilebilir performansın oldukça farklı tanımları olabilir. Sonuçta kimin deneyim konularda tek kişi ortamınızda, sen, ve kapasite planlaması güven söz konusu olduğunda benim durumumda biri iyi planlanmış yerel kriter dış raporların değerinde binlerce hazır - iş yükü olduğunda asla bilemezsiniz patolojik durum: -)
voretaq7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.