Search code examples
node.jsdebianrabbitmqamqp

Every queue has a consume rate of at best 25 messages per second. How can I increase this?


I am out of ideas. I use SenecaJS with Seneca AMQP Transport plugin with NodeJS Microservices.

I have at best 25 messages per second and can't find why. I used the exemple of the seneca amqp transport plugin to benchmark this. I tested the example on two servers running on Debian, one aws instance running on debian and my macbook pro.

I have a delivery rate around 600 - 700 messages per second on my macbook pro. On debian it's only 25 messages per seconds.

Here two images showing the issue:

Mackbook pro

Debian

What did I missed here? It looks like an issue on the OS level or a default configuration. Can't find anything about this.

EDIT: Issue discussed here: https://github.com/senecajs/seneca-amqp-transport/issues/63


Solution

  • I found out why I have this rate. It's because of the tcp delay on Linux OS (Debian for my case). Setting the noDelay to true when TCP socket is created fixed the issue.

    More about this issue related to the seneca amqp transport plugin here