Skip to main content

Consensus Clients

Consensus client database size varies widely with amount of blobs kept. The below is a baseline with the minimal amount of blobs. A "supernode" can easily add 500 GiB to that number in blob space alone. An archive blob node would take over 4 TiB of blob data.

ClientVersionDateDB SizeRAMNotes
Grandine2.0.6September 2026~15 GiBtbdminimal node
Lighthouse8.2.2September 2026~15 GiB~14 GiBwithout blob accumulation
Lodestar1.42.0Apr 2026~20 GiB~12 GiBwithout blob accumulation
Nimbus26.8.0September 2026~90 GiB~5 GiB
Prysm7.1.3Apr 2026~20 GiB~9 GiBwithout blob accumulation
Teku26.4.0Apr 2026~80 GiB~10 GiB

Execution clients

For reference, here are disk, RAM and CPU requirements, as well as mainnet initial synchronization times, for different Ethereum execution clients.

Disk and RAM requirements​

SSD and RAM use is after initial sync, when keeping up with head.

Please pay attention to the Version and Date. These are snapshots in time of client behavior. Initial database size increases over time, and execution clients are always working on improving their storage engines.

DB Size is shown with values for different types of nodes: Full, and different levels of expiry: Post-Merge history only; rolling expiry for 33_024 epochs. "tbd" means I haven't gathered the data. "n/a" means the client does not support this expiry mode, yet. ">1.7 TiB" means I ran out of space on my test node with 2TB drive.

All clients continously prune state, and can expire history.

ClientVersionDateDB FullDB Post-MergeDB RollingRAMNotes
Besuv26.8.1September 2026>1.7 TiB~1.1 TiB~430 GiB~10 GiB
Erigon3.6.0September 2026>1.7 TiB~1.1 TiB~590 GiB~18 GiBErigon will use available system RAM, but the OS will use it for other processes as needed
Ethrex26.0.0September 2026>1.7 TiB~1.6 TiBn/a~17 GiB~30 GiB RAM while snap syncing. With history backfill. Full node is only back to Byzantium
Geth1.17.5September 2026>1.7 TiB~1.3 TiBn/a~ 8 GiB
Nethermind2.0.0September 2026~1.6 TiB~1.2 TiB~450 GiB~10 GiBFlat FlatDB, the default, ~13 GiB during sync
Nethermind2.0.0September 2026~1.5 TiB~1.2 TiB~390 GiB~6 GiBFlatInTrie FlatDB, ~9 GiB during sync
Nimbus0.4.0September 2026>1.7 TiB~tbd TiBtbd GiBtbd
Reth2.5.2September 2026~2 TiB~1.2 TiB~400 GiB~14 GiBwith receipts

Initial sync times​

Please pay attention to the Version and Date. Newer versions might sync faster, or slower.

These are initial syncs of a node with a stated amount of history expiry. For clients that support it, snap sync was used; otherwise, full sync.

Cache size default in all tests.

ClientVersionDateNode TypeTest SystemTime TakenNotes
Besuv26.1.0February 2026rollingNetcup RS G11~ 13 hours
Erigon3.3.8February 2026rollingNetcup RS G11~ 12 hours
Ethrex21.0.0July 2026post-mergeVM~ 3 hours
Geth1.17.2April 2026post-PragueNetcup RS G11~ 3 hours
Nethermind1.36.0February 2026post-CancunNetcup RS G11~ 2 hoursReady to attest after ~ 1 hour
Nimbus0.1.0-alphaMay 2025FullOVH Baremetal NVME~ 5 1/2 daysWith Era1 import
Reth2.0.0April 2026post-PragueNetcup RS G11~ 2 hourswith DB snapshot
Reth2.1.0April 2026FullLegacy miniPC~ 17 daysfull sync, no snapshot

Test Systems​

Latency is what matters most to Ethereum clients. Measure it with sudo ioping -D -c 30 /dev/<ssd-device> during load. Ideally while running a client, but using an fio to generate synthetic load will also get you a ballpark figure. You'd want to be under 300 us max (microseconds, not milliseconds) for an Ethereum execution client. High latency negatively impacts attestation performance, and is particularly noticeable during sync committee duties.

Synthetic load can be generated with fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=150G --readwrite=randrw --rwmixread=75; rm test. If the test shows it'd take hours to complete, feel free to cut it short once the IOPS display for the test looks steady.

150G was chosen to "break through" any caching strategems the SSD uses for bursty writes. Execution clients write steadily, and the performance of an SSD under heavy write is more important than its performance with bursty writes.

Servers have been configured with noatime and no swap to improve latency.

NameRAMSSD SizeCPUr/w latencyNotes
OVH Baremetal NVMe32 GiB1.9 TBIntel Hexa150us maxDatacenter-class NVMe drive
Netcup RS G1196 GiB3 TB20 vCPU on an AMD 84-core400us avg / 1.1ms maxStorage is fast enough to attest, but too slow to get best rewards
Legacy miniPC32 GiB2 TBIntel Quad 6th gen230 us avg / 320 us maxHome staker setup with PCIe 3 NVMe and older CPU
VM32-48 GiB2TBIntel Quad 8th gen170 us avg / 290 us maxVM with pass-through Intel DC NVMe

Getting better latency​

Ethereum execution layer clients need decently low latency. Measure latency with ioping when the system is under load. NVMe SSD is highly recommended; HDD will not be sufficient.

For cloud providers, here are some results for syncing Geth. In a nutshell, use baremetal instead.

  • AWS, gp2 or gp3 with provisioned IOPS delivered sub-par performance during sync committees.
  • Linode block storage, make sure to get NVMe-backed storage.
  • Netcup RS G11 works, but rewards are not optimal.
  • There are reports that Digital Ocean block storage is too slow, as of late 2021.
  • Strato V-Server is too slow as of late 2021.

Dedicated servers with NVMe SSD will always have sufficiently low latency. Do avoid hardware RAID though, see below. OVH Advance line is a well-liked dedicated option; latitude.sh, Linode, Vultr or Strato or any other baremetal provider will work as well.

For own hardware, we've seen three causes of high latency:

  • DRAMless or QLC SSD. Choose a "mainstream" SSD with TLC and DRAM. Enterprise / data center SSDs will always work great; consumer SSDs vary.
  • Overheating of the SSD. Check smartctl -x. You want the SSD to be at ~ 40-50 degrees Celsius, so it does not throttle.
  • Hardware RAID, no TRIM support. Flash the controller to HBA and use software RAID.