Skip to content

Questions about running an archive node #31683

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
fortuna502 opened this issue Apr 21, 2025 · 5 comments
Open

Questions about running an archive node #31683

fortuna502 opened this issue Apr 21, 2025 · 5 comments

Comments

@fortuna502
Copy link

Hello Geth Team,

I am setting up an archive node using Geth and would appreciate guidance on the following aspects:

  1. Benchmark Tests and Performance Metrics:
  • Are there any official or community-shared benchmark tests for running an archive node with Geth?
  • Specifically, what is the typical Queries Per Second (QPS) for RPC methods like eth_call on an archive node? If there are no standard metrics, could you point me to resources or methods for benchmarking this myself?
  1. Syncing an Archive Node:
  • Does running an archive node with Geth require syncing from block 0 (genesis block)? Or can it start from a more recent block while still maintaining full historical state?
  • How long does the initial sync typically take for an archive node, assuming standard hardware (e.g., 16-core CPU, 64GB RAM, and high-performance SSD)?
  • Are there any recommended sync modes or flags (e.g., --syncmode full) for optimizing the sync process?
  1. Archive Snapshots:
  • Does Geth provide any pre-synced archive snapshots that can be used to speed up the initial setup of an archive node?
  • If not, are there third-party services or community resources that offer such snapshots for Geth?

Thank you for your assistance. I look forward to your insights and recommendations.

@rjl493456442
Copy link
Member

Does running an archive node with Geth require syncing from block 0 (genesis block)? Or can it start from a more recent block while still maintaining full historical state?

If you want to keep the full state histories since genesis, then run the full sync from genesis in gcmode=archive.

@rjl493456442
Copy link
Member

How long does the initial sync typically take for an archive node, assuming standard hardware (e.g., 16-core CPU, 64GB RAM, and high-performance SSD)?

The legacy hash mode archive node will take very long time to sync, probably a few months. We will ship the new archive node after the fork and 2 weeks are sufficient for the sync.

@rjl493456442
Copy link
Member

Are there any recommended sync modes or flags (e.g., --syncmode full) for optimizing the sync process?

also go with gcmode archive

@rjl493456442
Copy link
Member

Does Geth provide any pre-synced archive snapshots that can be used to speed up the initial setup of an archive node?
If not, are there third-party services or community resources that offer such snapshots for Geth?

no

@fortuna502
Copy link
Author

Hi @rjl493456442 , Thank you for the initial insights. I have a few follow-up questions to better understand running an archive node with Geth:

  1. Benchmarks for Archive Nodes:
    Are there any specific benchmark tests available for archive nodes, either from the Geth team or the community? For example, metrics on CPU, memory, or disk I/O usage under typical workloads would be helpful.

  2. JSON-RPC QPS:
    What is the expected Queries Per Second (QPS) for JSON-RPC interfaces, such as eth_call, on an archive node? If no official metrics exist, are there recommended tools or methods to measure this?

  3. Sync Efficiency (Archive vs. Full Node):
    Does the sync process for an archive node differ significantly in efficiency compared to a full node? For instance, does the need to store all historical states slow down block synchronization noticeably?

  4. Sync Lag in Archive Nodes:
    Is there a risk of an archive node falling behind in block synchronization (e.g., lagging behind the latest blocks)? If so, what factors contribute to this, and how can it be mitigated?

I appreciate any guidance or references to relevant resources. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants