fabric icon indicating copy to clipboard operation
fabric copied to clipboard

Improve the throughtput of fabric

Open yingfeng opened this issue 8 years ago • 3 comments

Description

According to the claim of fabric, 100,000 TPS is the aim to achieve if there are about 15 validating nodes running in close proximity. However, according to my stress testing under production environment, the result is far from that aim:

Describe How to Reproduce

I am using the simplest example2 of chaincode to perform the test, and create 4 peers on 4 different machines. In order to reduce the docker networking overhead as much as possibe, I am using the project calico as the docker SDN solution.

The simple query performance for each peer could reach 7000 QPS per second, while the simple invoke performance for each peer is only 700 TPS. This is my hardware environment: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz 64G DRAM 1T SATA Disk

In terms of transaction per second, 700 is the current status, I've not tested a P2P networking of 15 nodes, even if the throughput could be linear scalable, the peak TPS of current system is only 10,000 , which is only 1/10 of the aim, I'm not sure whether it could be linear scalable given 15 nodes, although it has been proven for 4 nodes, since the overhead of PBFT consensus would grow exponentially with the increasing number of nodes.

yingfeng avatar Jun 07 '16 08:06 yingfeng

@yingfeng we are constantly striving to improve the performance and throughput. The consensus redesign will hopefully yield significant improvements.

christo4ferris avatar Jul 25 '16 15:07 christo4ferris

So , was it determined by fabric team what contributes mostly to latency ? Network latency ? Consensus overhead ? What is the status of TPS now ?

venediktov avatar Sep 18 '17 03:09 venediktov

@christo4ferris is that redesign of consensus protocol completed? Any updates so far ?

georgekj avatar Mar 13 '18 12:03 georgekj