Here I share the pressure measurement data:
program execution time:30min
provider logic:direct new object return
provider thread pool size:800
consumer timeout:1s
provider timeout:default
service agreement:dubbo

result:

consumer concurrent | tcp links | total invoke times | invoke 
fail(timeout)times | service invoke success rate | service invoke QPS | service 
invoke avg cost time | invoke time more than 100ms rate | (consumer cost time - 
provider cost time) avg time
500 | 3links | 49287931 | 1771 | 99.9964% | 27271 | 18.1ms | 0.006% | 0.31ms
500 | 2links | 47601583 | 1141 | 99.9976% | 26464 | 18.9ms | 0.006% | 0.38ms
500 | 2links | 47871439 | 1146 | 99.9976% | 26919 | 18.7ms | 0.006% | 0.41ms
500 | 1links | 46258320 | 1051 | 99.9977% | 25702 | 18.8ms | 0.007% | 8.99ms
500 | 1links | 46421769 | 1005 | 99.9978% | 25910 | 18.7ms | 0.007% | 9.84ms
200 | 3links | 55025248 | 478 | 99.9991% | 31066 | 6.4ms | 0.004% | 0.16ms
200 | 1links | 47376374 | 255 | 99.9995% | 26362 | 7.1ms | 0.003% | 4.89ms
100 | 2links | 55366764 | 0 | 100% | 30640 | 3.2ms | 0.0002% | 0.13ms

We can see that in the case of concurrent 500 calls, the throughput of two tcp 
connection transmissions is 3.5% higher than that of one tcp connection 
transmission, and the throughput of three tcp connection transmissions is 
increased by 6.5% compared with the transmission of one tcp connection. In 
terms of network time consumption (consumer processing time minus provider 
processing time), 1 tcp connection per call on the network takes an average of 
9.84ms, and 2 tcp or 3 tcp connections are called each time in the network. The 
average time spent on it is only 0.41ms.

We can see that in the case of concurrent 300 calls, the throughput of three 
tcp connection transmissions is 16.1% higher than that of one tcp connection 
transmission! ! This is an amazing number.



[ Full content available at: 
https://github.com/apache/incubator-dubbo/pull/2457 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to