In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
How to carry out the Ontology VBFT consensus algorithm performance test report, I believe that many inexperienced people do not know what to do, so this paper summarizes the causes of the problem and solutions, through this article I hope you can solve this problem.
Test background
In this performance test of ontology, all the codes come from the open source code of ontology GitHub, and parallel processing and fragmentation are not added in this version. The hardware environment used is a normal cloud service node.
This test is a single-chain test of 7 consensus nodes under the VBFT consensus, and does not include optimization points such as parallel processing, sharding and FPGA hardware acceleration, which are not officially open source.
The number of transaction transactions per second of TPS (Transaction per Second) reflects the maximum capacity of the system to handle business at the same time, and is one of the core performance indicators of the block chain. Apache JMeter is a stress testing tool based on Java developed by Apache organization. In this paper, JMeter is used to do stress testing on Ontology version 0.8.2, and the test process and results are recorded as follows. For related testing tools and usage, please see: https://github.com/qiluge/VBFT_TPS_TEST
Test summary
Without adding sharding, parallel processing and FPGA hardware acceleration, a total of 10 tests were carried out, and the average results of 10 times were taken. The final results are as follows. The test results are at a high level in the public chain.
Number of transactions: 3 million send rate: 6000 max s send time: 500s settlement success rate: 99.1% number of blocks: 40 processing time: 562sTPS:5341 peak: 5536
Note 1:TPS = number of successful transactions / (completion closing time-start sending transaction time)
Note 2: the peak is the maximum TPS that can be achieved by the stable operation of the system. The algorithm takes the number of accounts within one to two minutes in the middle period of the settlement process, divided by the settlement time.
I. Test environment
Each node is a Microsoft cloud virtual machine, with a total of 7 consensus nodes. The hardware configuration is as follows:
CPU: single node 8-core CPU. Details are as follows:
Name: Intel (R) Xeon (R) CPU E5-2673 v3 main frequency: 2.40GHz cache size: 30720 KB core: 8
Memory: 27g per node
Hard disk: solid state disk with a size of 50 gigabytes. The read and write rate limit does not exceed 25MB/s.
The software configuration is as follows:
System Information: ubuntu 16.04.4 LTS
Go environment: go1.9.3 linux/amd64
2. Ontology parameters
The Ontology version is 0.8.2, and the startup command is:
. / ontology-- maxtxinblock 120000-- gaslimit 0-- rest-- localrpc-- disableeventlog-- loglevel 2 III. Test steps
Use go-sdk to construct a batch of different ONT transfer transactions to ensure that their hash is different, with a transfer amount of 1 for each transaction
Start the ontology test network with a total of 7 nodes
Query the balance of the target account sent by the transaction and record
Use JMeter to send the transactions to the test network, configure 500 threads to send, set a fixed throughput timer to control the sending rate, and record the time to start sending transactions.
View the node log, observe the number of unaccounted transactions through numtx in log, and record the time when the first non-empty block appears. After sending, when more than three empty blocks appear in succession, the transaction can be considered to have been processed, and the time of the last non-empty block is taken as the closing time.
Query the balance of the target account sent by the transaction and record
Calculate the balance difference and divide it by the test time to get TPS.
IV. Jmeter configuration
Configuration of number of threads and number of deliveries:
LoopController.loops=6000,ThreadGroup.num_threads=500; represents the number of transactions sent by a thread, and the latter represents the number of threads opened. The multiplication of the two represents the number of transactions sent, in this case 3000000
Send rate configuration: use a fixed throughput timer to configure the transaction sending rate, which here is 360pc2000 per minute, or 6000 transactions per second, as shown in the following figure:
V. transaction delivery
You can see that a total of 3000000 transactions were sent, and it took 00:08:19, or 499 seconds, to send transactions at a speed of 6012 transactions per second.
VI. Block situation
VII. Performance analysis
At present, using 7 nodes to test, the TPS has reached more than 5300.
During the testing process, different transmission rates and different trading volumes are used to test, and the test results show that the TPS is more than 5000. The final test result, the peak TPS of VBFT, exceeded 5500, reaching about 5536.
After reading the above, have you mastered the method of how to conduct the performance test report of Ontology VBFT consensus algorithm? If you want to learn more skills or want to know more about it, you are welcome to follow the industry information channel, thank you for reading!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.