[rabbitmq-discuss] Is there a channel publish throughput limit to a queue?
matthias at rabbitmq.com
Wed Oct 5 10:35:48 BST 2011
On 05/10/11 10:13, Tim Fox wrote:
> On 04/10/11 19:00, Allen Kim wrote:
>> Thanks for your reply. I have been waiting for someone to reply.
>> 1. They are persistent messages (disk writing speed could slow down that
> A good disk can sync at about 200-300 syncs per second. If each
> published message is being synced to disk you should expect that level
> of performance.
Alas rabbit doesn't generally fsync per message. Except when using tx
and committing after every message, or using confirms and waiting for
confirmation after every message. Or when the sending rate is quite low.
On my desktop I can get >7kHz persistent messages routed.
>> 2. NOT large message (it's around two lines 200-400 bytes)
>> 3. routing to only one queue
>> 4. NO transaction
>> 5. 3-4 consumers with basic.qos prefetch to 100.
>> So, #1 and #5 matters?
Possibly. Though I'd still expect to see significantly higher rates.
You can approximate the above setup by running the MulticastMain test
program we ship with the java client and invoking it with the options
-f persistent -s 400 -y 3 -u q -q 100 -r 3000
The last figure is the target send rate. Watch the reported latencies.
If they are stable, try a higher rate. The max rate at which the
latencies are stable is the max throughput Rabbit can handle in that
On my machine the above test can easily get 6kHz with RabbitMQ 2.6.1.
More information about the rabbitmq-discuss