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 "response.myname", </div><div>and they publish messages with routing key "request.myname", 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 "request.#",</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 "RPC"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't help by increasing the number of publishers or consumers, or both.</div><div><br></div><div>Hope it'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>