Analyzing the hardware requirements to be an Ethereum full validated node II
Final story
Original site: https://www.comunidadblockchain.com/analyzing-the-hardware-requirements-to-be-an-ethereum-full-validated-node-ii/
After the first review about what we need, in terms of hardward, to run an Ethereum client in order to be a full validated node, I have summarized all my tests and calculated some ratios that can help you to estimate your requirements.
Test environment (you can skip it if you are not interested how I built the test environment)
Processor: Intel(R) Core(TM) i7–2600 CPU @ 3.40GHz
RAM: 4x RAM 4096 MB DDR3
Disk: 2x SSD SATA 240 GB
Monitoring tools: collectd, InfluxDB and Grafana
Metrics (most relevants): IO throughput, CPU usage and blocks per minute
Ethereum client: parity --no-warp --cache-size=4096 --db-compaction=ssd --scale-verifiers --num-verifiers=2
In order to limit machine resources I have applied CGroups to different executions of Parity.
Results
As we can see, the most relevant resource for synchronization’s speed is disk throughput. CPU also has an impact but in a different order of magnitude.
A rule of thumb I have extracted empirically from the previous results is that the ratio between blocks / minute and Avg MB/s IO write goes from 21 (21MB/s) to close to 16 (35.6MB/s and 68MB/s):
It provides us with an estimation about how much time a machine will expend to sync a full validated node:
Last block height: 6677669
Processor: Intel(R) Core(TM) i7–2600 CPU @ 3.40GHz
AVG blocks/minute with a disk providing 48 MB/s of random writes: 48*16=768
Theoretical time to sync: 6677669/768 /60 /24 = 6.04 days
You can adjust it if your CPU is not the same. For example, if you only have 1/8 of the capacity of the previous CPU, adjust the AVG blocks/minute as follow:
768 - 1/(1/8)*9 = 696 block/minute
And it will take 6.66 days to sync.
Conclusions
- I still cannot say what is the minimum hardware. The tests were not conclusive
- However, the data shown here gives us an estimation
- I will update the bottom part of this story with hardware that I know it can run a full validated node
Tested hardware
Warning: The disk space needed may vary if you are looking it long after I’ve written it down.
Processor: Intel(R) Core(TM) i7–2600 CPU @ 3.40GHz
RAM: 4x RAM 4096 MB DDR3
Disk: 2x SSD SATA 240 GB
PRICE: 32.54 EUR / month (https://www.hetzner.com/)