Dear experts,

We are having a powerful server (48 cores, four disks and 512 GB RAM) providing 
the services.
>From my laptop (2 cores - 4 threads), we start to consume the public services.
In order to bench the throughput of our public service provider, we just simply 
consume a very basic method (an Object receiving method, sending object from 
consumer and provider receives it, no storage or cache is invoked after that). 
The Object size is only 1K.

We use Dubbo protocol for our service provider.
We noticed that: the consumer does not seem to consume to the second core of my 
laptop (it only consumes one full core). This results in a throughput of 4000 
requests per second.
To prove that our laptop can reach higher throughput, we run the second process 
of consuming our public service. With two processes running simultaneously, we 
can reach the throughput of 7500 request per second, and almost double the CPU 
usage, in total.
Our consumer implementation is multiple threads. So we don't think the 
implementation is the issue. We suspect that some configuration is needed to 
improve the performance and concurrency. For the above results, we just use the 
default configuration of Dubbo.

Do you have any best practice example for improving the performance and 
concurrency of consumer? If yes, could you please enlighten us?

Thank you guys in advance.

Best regards
Tien Dat PHAN


Reply via email to