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
Metric | Value |
---|---|
Transaction type | EOA to EOA |
Transactions per second | 689 |
Transactions failed | 0 |
Transactions succeeded | 20000 |
Total blocks used | 25 |
Total run time | 29.921110s |
Results of ERC20 token transfers
Metric | Value |
---|---|
Transaction type | ERC20 |
Transactions per second | 500 |
Transactions failed | 0 |
Transactions succeeded | 20000 |
Total blocks used | 33 |
ERC20 transaction run time | 40.402900s |
SC Deploy time | 2.004140s |
Results of ERC721 token minting
Metric | Value |
---|---|
Transaction type | ERC721 |
Transactions per second | 157 |
Transactions failed | 0 |
Transactions succeeded | 20000 |
Total blocks used | 124 |
ERC721 transaction run time | 127.537340s |
SC Deploy time | 2.004420s |
Results of ERC721 token minting with a very high block gas limit (80 Mil.)
Metric | Value |
---|---|
Transaction type | ERC721 |
Transactions per second | 487 |
Transactions failed | 0 |
Transactions succeeded | 20000 |
Total blocks used | 34 |
ERC721 transaction run time | 41.098410s |
SC Deploy time | 2.004300s |
Environment EOA to EOA
Host Configuration
Cloud provider | AWS |
Instance size | c5.2xlarge |
Networking | private subnet |
Operating system | Amazon Linux 2 AMI (HVM) - Kernel 5.10 |
File descriptor limit | 65535 |
Max user processes | 65535 |
Blockchain Configuration
Polygon Edge version | Commit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch |
Validator nodes | 4 |
Non-validator nodes | 0 |
Consensus | IBFT PoA |
Block time | 1s |
Block gas limit | 20000000 |
Max slots | 1000000 |
Average block utilization | 84.00% |
Loadbot Configuration
Total Transactions | 20000 |
Transactions sent per second | 689 |
Type of transactions | EOA 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 provider | AWS |
Instance size | c5.2xlarge |
Networking | private subnet |
Operating system | Amazon Linux 2 AMI (HVM) - Kernel 5.10 |
File descriptor limit | 65535 |
Max user processes | 65535 |
Blockchain Configuration
Polygon Edge version | Commit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch |
Validator nodes | 4 |
Non-validator nodes | 0 |
Consensus | IBFT PoA |
Block time | 1s |
Block gas limit | 20000000 |
Max slots | 1000000 |
Average block utilization | 88.38% |
Loadbot Configuration
Total Transactions | 20000 |
Transactions sent per second | 500 |
Type of transactions | ERC20 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 provider | AWS |
Instance size | c5.2xlarge |
Networking | private subnet |
Operating system | Amazon Linux 2 AMI (HVM) - Kernel 5.10 |
File descriptor limit | 65535 |
Max user processes | 65535 |
Blockchain Configuration
Polygon Edge version | Commit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch |
Validator nodes | 4 |
Non-validator nodes | 0 |
Consensus | IBFT PoA |
Block time | 1s |
Block gas limit | 20000000 |
Max slots | 1000000 |
Average block utilization | 92.90% |
Loadbot Configuration
Total Transactions | 20000 |
Transactions sent per second | 157 |
Type of transactions | ERC721 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 provider | AWS |
Instance size | c5.2xlarge |
Networking | private subnet |
Operating system | Amazon Linux 2 AMI (HVM) - Kernel 5.10 |
File descriptor limit | 65535 |
Max user processes | 65535 |
Blockchain Configuration
Polygon Edge version | Commit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch |
Validator nodes | 4 |
Non-validator nodes | 0 |
Consensus | IBFT PoA |
Block time | 1s |
Block gas limit | 80000000 |
Max slots | 1000000 |
Average block utilization | --- |
Loadbot Configuration
Total Transactions | 20000 |
Transactions sent per second | --- |
Type of transactions | ERC20 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 provider | AWS |
Instance size | c5.2xlarge |
Networking | private subnet |
Operating system | Amazon Linux 2 AMI (HVM) - Kernel 5.10 |
File descriptor limit | 65535 |
Max user processes | 65535 |
Blockchain Configuration
Polygon Edge version | Commit 06e11eac8da98c79c938fc53dda2da3318cfbe04 on develop branch |
Validator nodes | 4 |
Non-validator nodes | 0 |
Consensus | IBFT PoA |
Block time | 1s |
Block gas limit | 80000000 |
Max slots | 1000000 |
Average block utilization | 84.68% |
Loadbot Configuration
Total Transactions | 20000 |
Transactions sent per second | 487 |
Type of transactions | ERC721 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%