Performance Reports

Summary

This test was done to measure the SC ERC20 token transfers, SC ERC721 token minting and EOA to EOA transactions functionality with heavy loads and speed of the transactions on the nodes with higher hardware resources.

The goal was to check if everything is working as expected during heavy loads. That was also the reason we’ve introduced gas metrics in the loadbot output, which show us if the blocks are filled with transactions properly.

All transactions were sent to the single node via GRPC API, and the receipts were received via JSON-RPC API. After all transactions were done, gas information was read from each block, using the eth_getBlockByNumber JSON-RPC method.

Our aim was to strive to reach a maximum possible TPS on the hardware resources available. To acheive this, we've modified the block gas limit and block time parameters, to give us the best possible tps results and keep the system integrity and stability.

Results of EOA to EOA transfers​

Metric

Value

Transaction type

EOA to EOA

Transactions per second

1428

Transactions failed

0

Transactions succeeded

30000

Total blocks used

15

Total run time

21.374620s

Results of ERC20 token transfers​

Metric

Value

Transaction type

ERC20

Transactions per second

1111

Transactions failed

0

Transactions succeeded

50000

Total blocks used

38

ERC20 transaction run time

45.906450s

SC Deploy time

2.006580s

Results of ERC721 token minting​

Metric

Value

Transaction type

ERC721

Transactions per second

714

Transactions failed

0

Transactions succeeded

30000

Total blocks used

39

ERC721 transaction run time

42.864140s

SC Deploy time

2.005500s

Environment EOA to EOA

Host Configuration

Cloud provider    AWS EC2
Instance size    c6a.48xlarge
Networking    private subnet
Operating system    Linux Ubuntu 20.04 LTS - Focal Fossa
File descriptor limit    65535
Max user processes    65535

Blockchain Configuration

Exzo Network version	Release v0.1.1
Validator nodes	4
Non-validator nodes    0
Consensus    IBFT PoA
Block time    1s
Block gas limit	70778880
Max slots    276480
Average block utilization    59.34%

Loadbot Configuration

Total Transactions    30000
Transactions sent per second    1428
Type of transactions    EOA to EOA transfers

Loadbot log

[COUNT DATA]Transactions submitted = 30000Transactions failed    = 0[APPROXIMATE TPS]Approximate number of transactions per second = 1428[TURN AROUND DATA]Average transaction turn around = 4.394900sFastest transaction turn around = 1.133980sSlowest transaction turn around = 7.258690sTotal loadbot execution time    = 21.374620s[BLOCK DATA]Blocks required = 15Block #110 = 1268 txns (26628000 gasUsed / 70778880 gasLimit) utilization = 37.62%Block #111 = 2744 txns (57624000 gasUsed / 70778880 gasLimit) utilization = 81.41%Block #112 = 2333 txns (48993000 gasUsed / 70778880 gasLimit) utilization = 69.22%Block #113 = 1326 txns (27846000 gasUsed / 70778880 gasLimit) utilization = 39.34%Block #114 = 1852 txns (38892000 gasUsed / 70778880 gasLimit) utilization = 54.95%Block #115 = 2270 txns (47670000 gasUsed / 70778880 gasLimit) utilization = 67.35%Block #116 = 559 txns (11739000 gasUsed / 70778880 gasLimit) utilization  = 16.59%Block #117 = 3370 txns (70770000 gasUsed / 70778880 gasLimit) utilization = 99.99%Block #118 = 910 txns (19110000 gasUsed / 70778880 gasLimit) utilization  = 27.00%Block #119 = 3132 txns (65772000 gasUsed / 70778880 gasLimit) utilization = 92.93%Block #120 = 1207 txns (25347000 gasUsed / 70778880 gasLimit) utilization = 35.81%Block #121 = 3370 txns (70770000 gasUsed / 70778880 gasLimit) utilization = 99.99%Block #122 = 2734 txns (57414000 gasUsed / 70778880 gasLimit) utilization = 81.12%Block #123 = 2737 txns (57477000 gasUsed / 70778880 gasLimit) utilization = 81.21%Block #124 = 188 txns (3948000 gasUsed / 70778880 gasLimit) utilization   = 5.58%[[COUNT DATA]
Transactions submitted = 30000
Transactions failed    = 0

[APPROXIMATE TPS]
Approximate number of transactions per second = 1428

[TURN AROUND DATA]
Average transaction turn around = 4.394900s
Fastest transaction turn around = 1.133980s
Slowest transaction turn around = 7.258690s
Total loadbot execution time    = 21.374620s

[BLOCK DATA]
Blocks required = 15

Block #110 = 1268 txns (26628000 gasUsed / 70778880 gasLimit) utilization = 37.62%
Block #111 = 2744 txns (57624000 gasUsed / 70778880 gasLimit) utilization = 81.41%
Block #112 = 2333 txns (48993000 gasUsed / 70778880 gasLimit) utilization = 69.22%
Block #113 = 1326 txns (27846000 gasUsed / 70778880 gasLimit) utilization = 39.34%
Block #114 = 1852 txns (38892000 gasUsed / 70778880 gasLimit) utilization = 54.95%
Block #115 = 2270 txns (47670000 gasUsed / 70778880 gasLimit) utilization = 67.35%
Block #116 = 559 txns (11739000 gasUsed / 70778880 gasLimit) utilization  = 16.59%
Block #117 = 3370 txns (70770000 gasUsed / 70778880 gasLimit) utilization = 99.99%
Block #118 = 910 txns (19110000 gasUsed / 70778880 gasLimit) utilization  = 27.00%
Block #119 = 3132 txns (65772000 gasUsed / 70778880 gasLimit) utilization = 92.93%
Block #120 = 1207 txns (25347000 gasUsed / 70778880 gasLimit) utilization = 35.81%
Block #121 = 3370 txns (70770000 gasUsed / 70778880 gasLimit) utilization = 99.99%
Block #122 = 2734 txns (57414000 gasUsed / 70778880 gasLimit) utilization = 81.12%
Block #123 = 2737 txns (57477000 gasUsed / 70778880 gasLimit) utilization = 81.21%
Block #124 = 188 txns (3948000 gasUsed / 70778880 gasLimit) utilization   = 5.58%

[AVERAGE BLOCK UTILIZATION]
Average utilization across all blocks = 59.34%

Environment ERC20​

Host Configuration

Cloud provider	AWS EC2
Instance size	c6a.48xlarge
Networking    private subnet
Operating system    Linux Ubuntu 20.04 LTS - Focal Fossa
File descriptor limit    65535
Max user processes    65535

Blockchain Configuration

Exzo Network version	Release v0.1.0
Validator nodes	4
Non-validator nodes	0
Consensus    IBFT PoA
Block time    1s
Block gas limit    47185920
Max slots    184320
Average block utilization    81.29%

Loadbot Configuration

Total Transactions	50000
Transactions sent per second	1111
Type of transactions	ERC20 to ERC20 transfers

Loadbot log

[COUNT DATA]
Transactions submitted = 50000
Transactions failed    = 0

[APPROXIMATE TPS]
Approximate number of transactions per second = 1111

[CONTRACT DEPLOYMENT INFO]
Contract address     = 0x33123b7a4420798b1D208ABBac657B7b103edbD9
Total execution time = 2.006580s

[CONTRACT DEPLOYMENT BLOCK DATA]
Blocks required = 1
Block #174 = 1 txns (1055757 gasUsed / 47185920 gasLimit) utilization = 2.24%

[TURN AROUND DATA]
Average transaction turn around = 8.856780s
Fastest transaction turn around = 2.006200s
Slowest transaction turn around = 15.977210s
Total loadbot execution time    = 45.906450s

[BLOCK DATA]
Blocks required = 38

Block #176 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #177 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #178 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #179 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #180 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #181 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #182 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #183 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #184 = 688 txns (20055200 gasUsed / 47185920 gasLimit) utilization  = 42.50%
Block #185 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #186 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #187 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #188 = 317 txns (9240550 gasUsed / 47185920 gasLimit) utilization   = 19.58%
Block #189 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #190 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #191 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #192 = 89 txns (2594350 gasUsed / 47185920 gasLimit) utilization    = 5.50%
Block #193 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #194 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #195 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #196 = 795 txns (23174250 gasUsed / 47185920 gasLimit) utilization  = 49.11%
Block #197 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #198 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #199 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #200 = 594 txns (17315100 gasUsed / 47185920 gasLimit) utilization  = 36.70%
Block #201 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #202 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #203 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #204 = 208 txns (6063200 gasUsed / 47185920 gasLimit) utilization   = 12.85%
Block #205 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #206 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #207 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #208 = 30 txns (874500 gasUsed / 47185920 gasLimit) utilization     = 1.85%
Block #209 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #210 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #211 = 1618 txns (47164700 gasUsed / 47185920 gasLimit) utilization = 99.96%
Block #212 = 177 txns (5159550 gasUsed / 47185920 gasLimit) utilization   = 10.93%
Block #213 = 180 txns (5247000 gasUsed / 47185920 gasLimit) utilization   = 11.12%

[AVERAGE BLOCK UTILIZATION]
Average utilization across all blocks = 81.29%

Environment ERC721​

Host Configuration

Cloud provider	AWS EC2
Instance size	c6a.48xlarge
Networking	private subnet
Operating system	Linux Ubuntu 20.04 LTS - Focal Fossa
File descriptor limit	65535
Max user processes	65535

Blockchain Configuration

Exzo Network version	Release v0.4.1
Validator nodes	4
Non-validator nodes	0
Consensus	IBFT PoA
Block time	1s
Block gas limit	94371840
Max slots	1000000
Average block utilization	93.88%

Loadbot Configuration

Total Transactions	30000
Transactions sent per second	714
Type of transactions	ERC721 token mint

Loadbot log

[COUNT DATA]
Transactions submitted = 30000
Transactions failed    = 0

[APPROXIMATE TPS]
Approximate number of transactions per second = 714

[CONTRACT DEPLOYMENT INFO]
Contract address     = 0x4Ceff7F2f9fC9f150a42AfcabceEDABeB723E56f
Total execution time = 2.005500s

[CONTRACT DEPLOYMENT BLOCK DATA]
Blocks required = 1
Block #59 = 1 txns (2528772 gasUsed / 94371840 gasLimit) utilization = 2.68%

[TURN AROUND DATA]
Average transaction turn around = 13.191620s
Fastest transaction turn around = 2.034710s
Slowest transaction turn around = 23.686180s
Total loadbot execution time    = 42.864140s

[BLOCK DATA]
Blocks required = 39

Block #61 = 818 txns (94237644 gasUsed / 94371840 gasLimit) utilization = 99.86%
Block #62 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #63 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #64 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #65 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #66 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #67 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #68 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #69 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #70 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #71 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #72 = 510 txns (58738980 gasUsed / 94371840 gasLimit) utilization = 62.24%
Block #73 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #74 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #75 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #76 = 674 txns (77624892 gasUsed / 94371840 gasLimit) utilization = 82.25%
Block #77 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #78 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #79 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #80 = 179 txns (20621682 gasUsed / 94371840 gasLimit) utilization = 21.85%
Block #81 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #82 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #83 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #84 = 231 txns (26609898 gasUsed / 94371840 gasLimit) utilization = 28.20%
Block #85 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #86 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #87 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #88 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #89 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #90 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #91 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #92 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #93 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #94 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #95 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #96 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #97 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #98 = 819 txns (94322802 gasUsed / 94371840 gasLimit) utilization = 99.95%
Block #99 = 561 txns (64612038 gasUsed / 94371840 gasLimit) utilization = 68.47%

[AVERAGE BLOCK UTILIZATION]
Average utilization across all blocks = 93.88%