-
Notifications
You must be signed in to change notification settings - Fork 52
Try small payload chunks in GET #4154
Copy link
Copy link
Closed as not planned
Labels
I4No visible changesNo visible changesS4RoutineRoutineU2Seriously plannedSeriously plannedenhancementImproving existing functionalityImproving existing functionalityneofs-storageStorage node application issuesStorage node application issuesperformanceMore of something per secondMore of something per second
Description
Activity
Metadata
Metadata
Assignees
Labels
I4No visible changesNo visible changesS4RoutineRoutineU2Seriously plannedSeriously plannedenhancementImproving existing functionalityImproving existing functionalityneofs-storageStorage node application issuesStorage node application issuesperformanceMore of something per secondMore of something per second
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).