Hi<div><br></div><div>I have a use case which is very similar to RPC:</div><div>The clients subscribe to their own queues bound to routing key &quot;response.myname&quot;, </div><div>and they publish messages with routing key &quot;request.myname&quot;, then wait for response.</div>
<div><br></div><div>On the other side of the broker, there is this RPC queue, bound to routing key &quot;request.#&quot;,</div><div>many workers consume from this queue, process the messages then send back response.</div>
<div><br></div><div>The request size is around 10K bytes, response is just few bytes, and all &quot;RPC&quot;s are synchronized calls.</div><div>i.e. client wait for response before send another request.</div><div><br></div>
<div>After some benchmark tests, we found that the message rate of the RPC queue hits around 1400.</div><div>It doesn&#39;t help by increasing the number of publishers or consumers, or both.</div><div><br></div><div>Hope it&#39;s enough background info to finally ask my question:</div>
<div>what could possibly be the bottleneck in my tests, and how to get higher throughput ?</div><div><br></div><div>-----------------env-------------------</div><div>Rabbit version: 2.7.1</div><div>Memory high watermark: 25G</div>
<div>CPU (24 processors) model: Intel(R) Xeon(R) CPU X5690  @ 3.47GH </div><div><br></div><div>BRs</div><div>/stone</div><div><br></div>