Trước hết, bạn cần hiểu những mục nào trong danh sách của bạn có giới hạn tỷ lệ mà bạn có thể đạt được, và mục nào không. Một số điều này phụ thuộc vào việc triển khai, vì vậy nó giúp đọc các phần bên trong, ví dụ như cuốn sách RabbitMQ in Action.
Số lượng hàng đợi được giới hạn bởi RAM của bạn. Mặt khác, số lượng tin nhắn đang phát không bị giới hạn bởi RAM vì RabbitMQ tự động chuyển chúng ra đĩa. Một lần tôi vô tình nhận được gần 8 triệu tin nhắn đang chơi trên một máy chủ phát triển khi tôi không chú ý.
Cũng không có giới hạn về kích thước tin nhắn, nhưng bạn thực sự nên suy nghĩ hai lần nếu kích thước của một tin nhắn vượt quá 512K. Tôi đã kết thúc bằng cách sử dụng bộ nhớ cache để chuyển các đối tượng lớn giữa các ứng dụng và chỉ gửi các tin nhắn điều khiển nhỏ hơn có chứa khóa memcache. Nhưng nếu bạn thực sự muốn, bạn có thể gửi các đối tượng nhị phân và JPEG lớn như các tệp JAR dưới dạng tin nhắn.
Số lượng người đăng ký là một giới hạn hệ điều hành vì một thuê bao cần ít nhất một ổ cắm TCP mở. Tất nhiên điều đó có thể điều chỉnh trong hầu hết các hệ điều hành, vì vậy số dặm của bạn sẽ thay đổi và đó là lý do tại sao bạn phải kiểm tra mô hình của mình. Tôi đã sử dụng JMETER để tải thử nghiệm các ứng dụng web của chúng tôi và tôi mới phát hiện ra plugin AMQP này https://github.com/jlavallee/JMeter-Rmus-AMQP nhưng chưa sử dụng nó. Trong mọi trường hợp, đây là loại thử nghiệm sẽ nhanh chóng cho bạn biết phần cứng (hoặc cấu hình VM) của bạn sẽ xử lý hợp lý.
Điều khó khăn duy nhất mà bạn có là thử nghiệm số lượng lớn người tiêu dùng cho hàng đợi fanout. Thay vào đó, bạn cũng có thể muốn so sánh bằng cách sử dụng trao đổi chủ đề, với người tiêu dùng đăng ký bằng khóa ràng buộc ký tự đại diện (*) để đạt được kết quả cuối cùng. Hãy thử chạy thử nghiệm này với càng nhiều máy khác nhau càng tốt để đảm bảo rằng bạn không gặp phải tình trạng tắc nghẽn do một máy chủ duy nhất chạy quy trình tiêu dùng. PS mà plugin Jmeter có vẻ như cũng có thể hữu ích để mô phỏng người tiêu dùng.