Introduction
Neo SPCC continues to work on the Golang Neo node and prepare development infrastructure for stress testing. In the last article, we presented test results in order to confirm that the Golang node can work on a par with other consensus nodes of the Neo network and show performance results no worse than the reference node. Now, the benchmark we use is available to all Neo developers in our GitHub.
Benchmark procedure
The transaction generator can function in two different modes:
- Using one sending thread with fixed requests per second (RPS) limit (rate limit)
- Using multiple sending threads (workers) working at their maximum possible rate (limited by the RPC node ability to accept requests).
The tested system has several launch options:
- C# Single consensus node Neo blockchain
- Go Single consensus node Neo blockchain
- C# Four consensus nodes and one simple node Neo blockchain
- Go Four consensus nodes and one simple node Neo blockchain
The previous article shows the results for several runs with different test scenarios.
Benchmark run example
To run the benchmark just need to clone the repository, uncomment the line with the desired test scenario in the make file, and execute two commands: make gen and make start.
Description of the benchmark options
Makefile
Description of the startup script (make / runner.sh) flags
Benchmark launch examples defined in the Makefile
In the future, we plan to adopt the benchmark to work with Neo 3. We hope that this new test environment will simplify the work of the Neo community and all implementations of Neo 3.0 will move together to new performance achievements, surpassing all other existing blockchain solutions.