

#Ethereum geth install archive#
We’ve run an archive sync benchmark on two m5.2xlarge AWS EC2 instances (8 core, 32 GiB RAM, 3TiB EBS SSD) with -cache=4096 -syncmode=full -gcmode=archive. The reason for the higher disk IO is due to using less memory for caching, having to push more aggressively to disk. *Whilst the performance is similar, we’ve achieved that while reducing the memory use by about 1/3rd and completely removing spurious memory peaks (Shanghai DoS).

#Ethereum geth install full#
We’ve run a full sync benchmark on two i3.2xlarge AWS EC2 instances (8 core, 61 GiB RAM, 1.9 TiB NVMe SSD) with -cache=4096 -maxpeers=50 -syncmode=full. We’ve run a fast sync benchmark on two i3.2xlarge AWS EC2 instances (8 core, 61 GiB RAM, 1.9 TiB NVMe SSD) with -cache=4096 -maxpeers=50 (defaults on v1.9.0) on the 25th of April. This work was mostly done by Péter Szilágyi. By temporarily allocating pruning caches to fast sync blooms, we’ve been able to short circuit most data accesses in-memory.

This resulted in stabilizing Geth’s memory usage even during the import of the Shanghai DoS blocks and speeding up overall block processing by concurrent heuristic state prefetching.

Among the many improvements, the highest impact ones were: Over the past 6 months, we’ve tried to dissect the different components that are on the critical path of block processing, in an attempt to identify and optimize some of bottlenecks. It’s interesting to realize that the “Performance” section was somewhere at the end of previous announcements, but over the years it became one of the most sought after improvement. Some of the features mentioned here have been silently shipped over the course of the 1.8.x release family, but we’ve deemed them important enough to explicitly highlight. We also recommend a fresh fast sync as it can drastically reduce the database size. The v1.9.0 release contains database schema changes, meaning it’s not possible to downgrade once updated. Warning: We’ve tried our best to squash all the bugs, but as with all major releases, we advise everyone to take extra care when upgrading. After many months of silence, we’re proud to announce the v1.9.0 release of Go Ethereum! Although this release has been in the making for a lot longer than we anticipated, we’re confident there will be some juicy feature for everyone to enjoy!
