Skip to content

Try small payload chunks in GET #4154

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

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