Skip to content

gRPC Throughput Drops to Zero Under High Load #4311

@suzmue

Description

@suzmue

Description

When running high-throughput benchmarks with the Rust Pub/Sub client, the publisher exhibits a "burst and stall" behavior when being published in a tight loop. Specifically, after an initial burst of high message volume, all outgoing activity—including both publishing and acknowledgement responses—drops to zero and does not recover.

This stall typically occurs when a large number of messages are outstanding. Logs indicate that while the application continues to attempt publishing, the transport layer stops sending data, resulting in a complete throughput collapse.

Solution / Workaround

We believe the root cause of this stall is related to a bug in the underlying h2 crate (related bug: hyperium/h2#853 and fix: hyperium/h2#860).

Updating the h2 dependency to the latest version (v0.4.13) resolves the issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    api: pubsubIssues related to the Pub/Sub API.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions