Skip to content

Significant performance degradation with GoJa JS tracing debug_traceBlockByNumber #25125

Closed
@Gilad-Eisenberger

Description

@Gilad-Eisenberger

We're experiencing a significant performance degradation with the latest version v1.10.19 .

Our flows using debug_traceBlockByNumber using custom JS tracers are putting significantly higher loads on the nodes when executing a single trace. Each trace now uses all cores on the machine while producing the trace.
Execution times remain as they were in previous versions. This means traces now consume significantly more resources to produce, and parallelize much worse than before.

For example, running a single debug_traceBlockByNumber using the legacy prestateTracer (.js version), the trace takes around 8000-9000ms to complete. During the time, it consumes all 56 cores on the node's machine (>80% cpu used).
The built-in tracer on the same block completes in 3000ms (expected to be faster), however does not consume more than 1 core during processing.
Earlier versions complete the .js trace in the same amount of time, however do not consume more than one core during processing.

This is a regression from previous versions, which timing-wise appears related to the GoJa tracer changes, however we cannot confirm the root cause.

Any help in investigating the root cause would be greatly appreciated. Additionally, any way to limit the concurrency of a single request would be great as well.

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