I am using
I am trying to publish, or send, a high volume of messages from outside of a message handler, approximately 3,000 messages/s.I’m having trouble being able to publish this kind of volume using NSB.
The messages are events coming off of a device. Consumer(s) will subscribe to the events and push the information into persistent storage where it can later be aggregated. Batching the messages into groups of 100-1000 per publish event doesn’t seem reliable, as it would mean losing those messages that were in memory…
After the first 20-30 messages are published, there is a LONG delay, and upwards of 20K message publish tasks are in-progress before they begin to finish. It takes upwards of 20s for some of the publish tasks to complete.
I tried using RequireImmediateDispatch to improve the overall performance, but it hasn’t helped.
There is a page regarding how to performance tune integration with ASB, but I see nothing like that for RabbitMQ.
Does anyone have any ideas or suggestions on how to improve the publish/send performance to handle this volume?