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]
