Skip to content

[Question] RPC Block Lag Issue Analysis and Optimization Request #1779

@giskook

Description

@giskook

Issue Description

When Sequencer transaction volume is high, RPC experiences block lag, meaning RPC retrieves new blocks slower than the Sequencer produces them.

Version Information

  • Code Version: xlayer-erigon v0.5.1-RC-1 (based on cdk-erigon v2.61.0)
  • Hardware Configuration:
    • Sequencer: 16 cores, 64GB RAM
    • Stateless Executor: 5 instances, each with 16 cores and 32GB RAM

Mechanism Analysis

  • After the Sequencer generates a block, it must wait for the Stateless Executor to complete block validation before pushing the block to the Data Streamer. RPC retrieves block data from the Data Streamer.
  • The result of the Stateless Executor’s validation is only queried in the next cycle, causing RPC to be unable to access the latest block immediately.

Identified Issues

Fast Sequencer processing: Under high load, the Sequencer closes a block in approximately 200ms.
Slow Stateless Executor validation: Each block takes about 4 seconds to be validated, significantly lagging behind the Sequencer’s block production speed, leading to RPC delays.

Optimization Goals

  • Enhance Stateless Executor validation efficiency to reduce block validation delays.
  • Optimize the data pushing mechanism to enable RPC to access Sequencer-generated blocks faster.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions