Skip to content

Try small payload chunks in GET #4154

Closed as not planned
Closed as not planned

Description

@roman-khimov

Is your feature request related to a problem? Please describe.

I'm always frustrated when a single GRPC message spans multiple HTTP/2 frames. These frames need to be queued before returning them to GRPC stream handler. With 254KB of data per message that's 16 frames.

Describe the solution you'd like

We still want to read ~256KB from disk, but we can try sending this data in smaller messages. Each message needs to be ~15KB to perfectly fit into the default HTTP/2 frame. Then we can check how this affects local reads and forwarding.

Likely this will require some buffer dances with grpc prefixes stored in a different slice from payload (currently a single one is used).

Activity

  1. added
    enhancementImproving existing functionality
    neofs-storageStorage node application issues
    performanceMore of something per second
    U2Seriously planned
    S4Routine
    I4No visible changes
    on Aug 31, 2026
  2. roman-khimov commented on Sep 29, 2026

    @roman-khimov
    MemberAuthor

    Tried in #4194, resulted in 20-30%% throughput decrease, not needed.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    I4No visible changesS4RoutineU2Seriously plannedenhancementImproving existing functionalityneofs-storageStorage node application issuesperformanceMore of something per second

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions