Skip to main content

March 23rd 2022

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.

Block Gas Limit

Block gas limit can be increased to a relatively high number if the transactions are using a lot of gas to execute. In the example stated bellow, ERC721 token minting worked much faster with a block gas limit set to 80 000 000 ( instead of 20 Mil. ), but with ERC20 token transfers with 80 Mil. block gas limit, the server crashed.

Production Environments

When configuring a production environment, you need to be carefull if you're trying to acheive high performance of the chain. If block gas limit parameter is set to a high value, block time is set to 1s, and there is a high transaction load on a single node, that node will consume a lot ( if not all available ) RAM and can cause server crash. Use the loadbot to test everything thoroughly, monitor the system resource utilization and set your configuration parameters accordingly.

Out of Memory Errors

Some linux distros will automaticaly kill the process that has a very high RAM usage ( OOM error ) , in order to preserve the system stability. The log output of this OOM error looks something like bellow.

Mar 23 00:19:06 ip-10-151-2-196 kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=polygon-edge,pid=4560,uid=1000Mar 23 00:19:06 ip-10-151-2-196 kernel: Out of memory: Killed process 4560 (polygon-edge) total-vm:16687652kB, anon-rss:14964372kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:29668kB oom_score_adj:0Mar 23 00:19:06 ip-10-151-2-196 kernel: oom_reaper: reaped process 4560 (polygon-edge), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

Results of EOA to EOA transfers

MetricValue
Transaction typeEOA to EOA
Transactions per second689
Transactions failed0
Transactions succeeded20000
Total blocks used25
Total run time29.921110s

Results of ERC20 token transfers

MetricValue
Transaction typeERC20
Transactions per second500
Transactions failed0
Transactions succeeded20000
Total blocks used33
ERC20 transaction run time40.402900s
SC Deploy time2.004140s

Results of ERC721 token minting

MetricValue
Transaction typeERC721
Transactions per second157
Transactions failed0
Transactions succeeded20000
Total blocks used124
ERC721 transaction run time127.537340s
SC Deploy time2.004420s

Results of ERC721 token minting with a very high block gas limit (80 Mil.)

MetricValue
Transaction typeERC721
Transactions per second487
Transactions failed0
Transactions succeeded20000
Total blocks used34
ERC721 transaction run time41.098410s
SC Deploy time2.004300s

Environment EOA to EOA

Host Configuration
Cloud providerAWS
Instance sizec5.2xlarge
Networkingprivate subnet
Operating systemAmazon Linux 2 AMI (HVM) - Kernel 5.10
File descriptor limit65535
Max user processes65535

Blockchain Configuration
Polygon Edge versionCommit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch
Validator nodes4
Non-validator nodes0
ConsensusIBFT PoA
Block time1s
Block gas limit20000000
Max slots1000000
Average block utilization84.00%

Loadbot Configuration
Total Transactions20000
Transactions sent per second689
Type of transactionsEOA to EOA transfers

Loadbot log
[COUNT DATA]
Transactions submitted = 20000
Transactions failed = 0

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

[TURN AROUND DATA]
Average transaction turn around = 5.685740s
Fastest transaction turn around = 2.004480s
Slowest transaction turn around = 9.013790s
Total loadbot execution time = 29.921110s

[BLOCK DATA]
Blocks required = 25

Block #435 = 865 txns (18165000 gasUsed / 20000000 gasLimit) utilization = 90.83%
Block #436 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #437 = 360 txns (7560000 gasUsed / 20000000 gasLimit) utilization = 37.80%
Block #438 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #439 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #440 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #442 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #443 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #444 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #445 = 157 txns (3297000 gasUsed / 20000000 gasLimit) utilization = 16.48%
Block #446 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #447 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #448 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #450 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #451 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #452 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #453 = 363 txns (7623000 gasUsed / 20000000 gasLimit) utilization = 38.12%
Block #454 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #455 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #456 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #458 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #459 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #460 = 952 txns (19992000 gasUsed / 20000000 gasLimit) utilization = 99.96%
Block #461 = 16 txns (336000 gasUsed / 20000000 gasLimit) utilization = 1.68%
Block #462 = 151 txns (3171000 gasUsed / 20000000 gasLimit) utilization = 15.86%

[AVERAGE BLOCK UTILIZATION]
Average utilization acorss all blocks = 84.00%

Environment ERC20

Host Configuration
Cloud providerAWS
Instance sizec5.2xlarge
Networkingprivate subnet
Operating systemAmazon Linux 2 AMI (HVM) - Kernel 5.10
File descriptor limit65535
Max user processes65535

Blockchain Configuration
Polygon Edge versionCommit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch
Validator nodes4
Non-validator nodes0
ConsensusIBFT PoA
Block time1s
Block gas limit20000000
Max slots1000000
Average block utilization88.38%

Loadbot Configuration
Total Transactions20000
Transactions sent per second500
Type of transactionsERC20 to ERC20 transfers

Loadbot log
[COUNT DATA]
Transactions submitted = 20000
Transactions failed = 0

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

[CONTRACT DEPLOYMENT DATA]
Contract address = 0xfCCb5bC1E2EdCcE6336f3C3112af488E9f7fFd45
Total execution time = 2.004140s

[CONTRACT BLOCK DATA]
Blocks required = 1

Block #643 = 1 txns (1055769 gasUsed / 20000000 gasLimit) utilization = 5.28%

[TURN AROUND DATA]
Average transaction turn around = 10.011350s
Fastest transaction turn around = 2.005370s
Slowest transaction turn around = 18.039780s
Total loadbot execution time = 40.402900s

[BLOCK DATA]
Blocks required = 33

Block #645 = 684 txns (19962000 gasUsed / 20000000 gasLimit) utilization = 99.81%
Block #646 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #647 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #648 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #650 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #651 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #652 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #653 = 1 txns (37550 gasUsed / 20000000 gasLimit) utilization = 0.19%
Block #654 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #655 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #656 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #657 = 200 txns (5838400 gasUsed / 20000000 gasLimit) utilization = 29.19%
Block #658 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #659 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #660 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #661 = 200 txns (5838400 gasUsed / 20000000 gasLimit) utilization = 29.19%
Block #662 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #663 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #664 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #666 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #667 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #668 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #669 = 414 txns (12076500 gasUsed / 20000000 gasLimit) utilization = 60.38%
Block #670 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #671 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #672 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #673 = 46 txns (1349300 gasUsed / 20000000 gasLimit) utilization = 6.75%
Block #674 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #675 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #676 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #678 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #679 = 685 txns (19976150 gasUsed / 20000000 gasLimit) utilization = 99.88%
Block #680 = 645 txns (18810150 gasUsed / 20000000 gasLimit) utilization = 94.05%

[AVERAGE BLOCK UTILIZATION]
Average utilization acorss all blocks = 88.38%

Environment ERC721

Host Configuration
Cloud providerAWS
Instance sizec5.2xlarge
Networkingprivate subnet
Operating systemAmazon Linux 2 AMI (HVM) - Kernel 5.10
File descriptor limit65535
Max user processes65535

Blockchain Configuration
Polygon Edge versionCommit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch
Validator nodes4
Non-validator nodes0
ConsensusIBFT PoA
Block time1s
Block gas limit20000000
Max slots1000000
Average block utilization92.90%

Loadbot Configuration
Total Transactions20000
Transactions sent per second157
Type of transactionsERC721 token mint

Loadbot log
[COUNT DATA]
Transactions submitted = 20000
Transactions failed = 0

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

[CONTRACT DEPLOYMENT DATA]
Contract address = 0x04D4F76817D951fc15E08392cBB056B50fea64aa
Total execution time = 2.004420s

[CONTRACT BLOCK DATA]
Blocks required = 1

Block #1173 = 1 txns (2528760 gasUsed / 20000000 gasLimit) utilization = 12.64%

[TURN AROUND DATA]
Average transaction turn around = 53.282990s
Fastest transaction turn around = 2.003130s
Slowest transaction turn around = 105.151960s
Total loadbot execution time = 127.537340s

[BLOCK DATA]
Blocks required = 124

Block #1175 = 173 txns (19958658 gasUsed / 20000000 gasLimit) utilization = 99.79%
Block #1176 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1177 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1178 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1179 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1180 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1181 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1182 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1183 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1184 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1185 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1186 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1187 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1188 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1189 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1190 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1191 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1192 = 47 txns (5420262 gasUsed / 20000000 gasLimit) utilization = 27.10%
Block #1193 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1194 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1195 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1196 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1197 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1198 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1199 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1200 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1201 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1202 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1203 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1204 = 45 txns (5189970 gasUsed / 20000000 gasLimit) utilization = 25.95%
Block #1205 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1206 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1207 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1208 = 59 txns (6802014 gasUsed / 20000000 gasLimit) utilization = 34.01%
Block #1209 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1210 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1211 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1212 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1213 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1214 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1215 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1216 = 42 txns (4844532 gasUsed / 20000000 gasLimit) utilization = 24.22%
Block #1217 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1218 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1219 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1220 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1221 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1222 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1223 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1224 = 26 txns (3002196 gasUsed / 20000000 gasLimit) utilization = 15.01%
Block #1225 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1226 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1227 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1228 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1229 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1230 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1231 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1232 = 76 txns (8759496 gasUsed / 20000000 gasLimit) utilization = 43.80%
Block #1233 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1234 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1235 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1236 = 90 txns (10371540 gasUsed / 20000000 gasLimit) utilization = 51.86%
Block #1237 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1238 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1239 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1240 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1241 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1242 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1243 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1244 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1245 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1246 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1247 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1248 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1249 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1250 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1251 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1252 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1253 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1254 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1255 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1256 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1257 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1258 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1259 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1260 = 99 txns (11407854 gasUsed / 20000000 gasLimit) utilization = 57.04%
Block #1261 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1262 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1263 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1264 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1265 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1266 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1267 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1268 = 18 txns (2081028 gasUsed / 20000000 gasLimit) utilization = 10.41%
Block #1269 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1270 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1271 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1272 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1273 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1274 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1275 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1276 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1277 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1278 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1279 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1280 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1281 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1282 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1283 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1284 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1285 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1286 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1287 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1288 = 78 txns (8989788 gasUsed / 20000000 gasLimit) utilization = 44.95%
Block #1289 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1290 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1291 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1292 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1293 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1294 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1295 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1296 = 30 txns (3462780 gasUsed / 20000000 gasLimit) utilization = 17.31%
Block #1297 = 173 txns (19928658 gasUsed / 20000000 gasLimit) utilization = 99.64%
Block #1298 = 14 txns (1620444 gasUsed / 20000000 gasLimit) utilization = 8.10%

[AVERAGE BLOCK UTILIZATION]
Average utilization acorss all blocks = 92.90%

Environment ERC20 - very high block gas limit

Host Configuration
Cloud providerAWS
Instance sizec5.2xlarge
Networkingprivate subnet
Operating systemAmazon Linux 2 AMI (HVM) - Kernel 5.10
File descriptor limit65535
Max user processes65535

Blockchain Configuration
Polygon Edge versionCommit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch
Validator nodes4
Non-validator nodes0
ConsensusIBFT PoA
Block time1s
Block gas limit80000000
Max slots1000000
Average block utilization---

Loadbot Configuration
Total Transactions20000
Transactions sent per second---
Type of transactionsERC20 to ERC20 transfers

OOM Error log
Mar 23 00:19:06 ip-10-151-2-196 kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=polygon-edge,pid=4560,uid=1000
Mar 23 00:19:06 ip-10-151-2-196 kernel: Out of memory: Killed process 4560 (polygon-edge) total-vm:16687652kB, anon-rss:14964372kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:29668kB oom_score_adj:0
Mar 23 00:19:06 ip-10-151-2-196 kernel: oom_reaper: reaped process 4560 (polygon-edge), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

Environment ERC721 - very high block gas limit

Host Configuration
Cloud providerAWS
Instance sizec5.2xlarge
Networkingprivate subnet
Operating systemAmazon Linux 2 AMI (HVM) - Kernel 5.10
File descriptor limit65535
Max user processes65535

Blockchain Configuration
Polygon Edge versionCommit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch
Validator nodes4
Non-validator nodes0
ConsensusIBFT PoA
Block time1s
Block gas limit80000000
Max slots1000000
Average block utilization84.68%

Loadbot Configuration
Total Transactions20000
Transactions sent per second487
Type of transactionsERC721 token mint

Loadbot log
[COUNT DATA]
Transactions submitted = 20000
Transactions failed = 0

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

[CONTRACT DEPLOYMENT DATA]
Contract address = 0x4Ceff7F2f9fC9f150a42AfcabceEDABeB723E56f
Total execution time = 2.004300s

[CONTRACT BLOCK DATA]
Blocks required = 1

Block #17 = 1 txns (2528760 gasUsed / 80000000 gasLimit) utilization = 3.16%

[TURN AROUND DATA]
Average transaction turn around = 9.621830s
Fastest transaction turn around = 2.006890s
Slowest transaction turn around = 18.106630s
Total loadbot execution time = 41.098410s

[BLOCK DATA]
Blocks required = 34

Block #19 = 694 txns (79949724 gasUsed / 80000000 gasLimit) utilization = 99.94%
Block #20 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #21 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #22 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #23 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #24 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #25 = 150 txns (17280300 gasUsed / 80000000 gasLimit) utilization = 21.60%
Block #26 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #27 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #28 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #29 = 25 txns (2887050 gasUsed / 80000000 gasLimit) utilization = 3.61%
Block #30 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #31 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #32 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #34 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #35 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #36 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #38 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #39 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #40 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #41 = 132 txns (15207672 gasUsed / 80000000 gasLimit) utilization = 19.01%
Block #42 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #43 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #44 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #45 = 74 txns (8529204 gasUsed / 80000000 gasLimit) utilization = 10.66%
Block #46 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #47 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #48 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #50 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #51 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #52 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #53 = 5 txns (584130 gasUsed / 80000000 gasLimit) utilization = 0.73%
Block #54 = 694 txns (79919724 gasUsed / 80000000 gasLimit) utilization = 99.90%
Block #55 = 182 txns (20964972 gasUsed / 80000000 gasLimit) utilization = 26.21%

[AVERAGE BLOCK UTILIZATION]
Average utilization acorss all blocks = 84.68%