<p style="font-size: 14px; clear: both; word-wrap: break-word; color: rgb(0, 0, 0); font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;">We have been experimenting with RabbitMQ. During those experiments we have seen some strange behavior with respect to a worker queue.</p><p style="font-size: 14px; clear: both; word-wrap: break-word; color: rgb(0, 0, 0); font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;">One of the observations is that the read performance of a queue does not change when we add or remove processes that read from that queue. For example: when a single process handles messages at a rate of 800 msg/sec. Adding a second (similar) process has the result of both processes handling messages at a rate of 400 msg/sec each, with again 800 msg/sec as total. When we shutdown one of the processes, the msg rate of the other process increases to (you guessed) 800 msg/sec.</p><p style="font-size: 14px; clear: both; word-wrap: break-word; color: rgb(0, 0, 0); font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;">This is not what we expected. Why does the throughput not double when we add a second reader to a queue?</p><p style="font-size: 14px; clear: both; word-wrap: break-word; color: rgb(0, 0, 0); font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;">We are using the RabbitMQ .NET client (in combination with EasyNetQ Advanced API). We have the publisher confirms switched on, use a prefetch_count (Qos) of 50, Ack messages when they have been processed, and use durable exchanges, queues and messages.</p><p style="font-size: 14px; clear: both; word-wrap: break-word; color: rgb(0, 0, 0); font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;">We must be doing something wrong, any pointer in the right direction is very welcome...</p>