Benchmarking BlockchainsPosted on Tuesday, 28 March 2023 Suggest An Edit
In pursuit of optimal performance, we benchmarked Epyc 7003 series C2D Milan processors using Polkadot client and Fio.
These tests indicate that cloud providers current hardware may not be ideal for running next-gen blockchains.
Best option for running blockchains to be bare metal lxc containers running on latest AMD mobile processors like 7045HX, unfortunately only available to OEMs. For the comparison we recommend good read article building and self-hosting 1000$ validator.
Using Epyc 7003 series C2D Milan processors, we found the following results:
| Category | Function | Score | Minimum | Result | |==========|================|=============|=============|===================| | CPU | BLAKE2-256 | 952.02 MiBs | 1.00 GiBs | ✅ Pass ( 92.5 %) | | CPU | SR25519-Verify | 487.97 KiBs | 666.00 KiBs | ❌ Fail ( 73.3 %) | | Memory | Copy | 18.07 GiBs | 14.32 GiBs | ✅ Pass (126.1 %) | | Disk | Seq Write | 239.93 MiBs | 450.00 MiBs | ❌ Fail ( 53.3 %) | | Disk | Rnd Write | 119.98 MiBs | 200.00 MiBs | ❌ Fail ( 60.0 %) |
Minimum: 790 ns Maximum: 1668781 ns Mean: 1666.980091 ns Standard Deviation: 823.241338 ns 99.99th Percentile Read Latency: 4960 ns The read latency does not meet the 2000 ns and lower QoS requirement The results show that Epyc 7003 series C2D Milan processors fail to meet some key requirements, making them less suitable for running next-gen blockchains.
curl -s https://api.github.com/gists/868fac581cf66af7780a1ccfd02c7b1b | jq -r '.files | first(.).content' > chainbench.sh && chmod +x chainbench.sh && ./chainbench.sh
Testing methodology consisted of Polkadot benchmark && 10G fio for IOPS and latency to separate SSD disk where chaindata is hold.