PlatON Shares the Latest Stress Tests Details under 100% Simulated Main Net Environment with All Community Members

Since the launch of new Baleyworld test net in Feb, 2020, PlatON has went through all kinds of tests including functional test, exception test, security test, governance drill, etc. With the joint efforts of PlatON team and the whole community, we’ve found out many indetectable vulnerabilities, and delivered 4 upgrades with overall optimization and improvements.

Performance test is vital for the main net. In order to deliver the highly secure, stable and high-performing PlatON main net, we kept simulating and reproducing all potential issues and risks in the testing environment that is most close to the real environment when PlatON main net is launched, and got the test results under complicated and changeable environment.

After one-month intensive test under simulated EOS environment, we’ve finished two stress tests. Below is the detailed test result:



Testing Environment:





Test Methods:

1. Stress test

In the stress test, by putting ultimate pressure on the system, we can find the bottleneck and weakness of performance.



2. Test cases





3. Test scene

Initiate the transactions to multiple PlatON validators through RPC port at the same time, which will last for 5 hours.

Test Indexes and Results

1. Definition of indexes





Note:

  1. The starting time of statistic: after the stress test starts, the stress TPS increases gradually, and the number of transactions in Pending transaction pool is over 4500. After the curve gets stable, the first minute is the stating time of statistic;

  2. The end time of statistic: the transactions get reduced after the number of transactions in the Pending transaction pool reached 4500, then one minute before the transactions get reduced is the end time of TPS.



2. Results of stress test





Note:

As the stress tests on PlatON new Baleyworld test net don’t include the qualified transaction time in Pending transaction pool, thus, the average TPS and average block production time hasn’t been calculated.





Test Results and Analysis

According to the comparation among the 4 stress tests, the overall network performance with high configurations (under simulated EOS environment) can reach a correspondingly high level. Even when dealing with complicated smart contracts, the TPS can reach 2000.

However, the network performance can’t reach the optimal state when the stress tests are performed on PlatON new Baleyworld test net. Take the 2nd stress test on PlatON new Baleyworld test net as an example, according to the TPS trend chart, there are 0 transaction happened from time to time, which lowered the overall performance.



After analysis, we’ve found out the reasons that caused the 0 block production during the tests:

  1. The hardware configurations of some validators can’t meet the requirements of recommended configurations, which will cause OOM due to insufficient memory under the circumstance of high pressure. PlatON suggests validators using the recommended configurations when in main net to avoid being punished due to 0 block production;

  2. The memory occupied in the first round of stress test hadn’t been recovered when the 2nd stress test was ongoing. Under such circumstance, when putting more stress on the validators, OOM occurred. This issue will be solved in the upcoming new version of PlatON.



PlatON team will keep moving on improving the new PlatON Baleyworld test net, and host more stress tests to perfect the performance. We will share the latest test details with all community members, and sincerely welcome all suggestions for improvements.