Neo SPCC has shared new benchmarking results of the dBFT protocol as implemented in NeoGo. The report demonstrates significant advancements in network performance in the most realistic distributed test environment used by the team so far.

The benchmarking setup was designed to evaluate the minimal reachable time per block, the minimal optimal time per block, and the robustness of the network under stress. The testing studied the affects of time constraints on performance and stability of dBFT. In a distributed environment, emulating a public network with seven consensus nodes spread across multiple data centers, NeoGo sustained 17,516 transactions per second at a 300 millisecond block time.

The team conducted local tests in order to establish a baseline. These tests used four consensus nodes and one RPC node on a single machine, operated using Docker containers on a MacBook Air M1 with 8 GB of RAM and a 512 GB SSD. This setup, devoid of network communication latencies, provided insights into the raw transaction processing and resource management capabilities of NeoGo as the MillisecondsPerBlock setting was adjusted.

The more realistic distributed test environment featured eight separate machines, each with a Ryzen 5 3600 processor, 64 GB RAM, and a 500 GB SSD. Seven served as consensus nodes, geographically separated to better simulate MainNet, while one behaved as an RPC node.

Both setups employed the same testing methods to determine the upper limits of performance, utilizing neo-bench’s worker mode and rate mode. The former is used to establish performance baselines as block time changes, while the latter provides insights into how block time changes influence load handling capabilities.

The study found that the network managed transactions efficiently even as the MSPerBlock setting was reduced, showing robustness under load. Additionally, the tests showed a smooth and predictable performance degradation due to block acceptance delays and view changes as the network load increased. The findings show that NeoGo networks can operate without significant numbers of view changes at a 300 millisecond block time. Further, at the extremely low minimum target block interval of 60ms, dBFT continued to perform well, with a median block acceptance interval of 139ms and maximum average transactions per second of 15,974.

These results highlight NeoGo’s impressive performance and stability, revealing critical insights into its capabilities and limits under extremely time-constrained conditions. Neo SPCC’s benchmarking efforts provide valuable data that will help further optimize NeoGo and Neo core for real-world applications.

The full report may be read at the following link:
https://neospcc.medium.com/under-pressure-time-constrained-dbft-a4b4f30b73fd