nspcc-dev / nspcc-dev/neofs-node

Try 256K HTTP/2 frames

Open
#4,155 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement I4 neofs-storage performance S4 U2
Dominant language
Go
Stars
38
Forks
51
Avg merge
1d 20h
Merged PRs (30d)
38

Description

Similar to #4154 we can try raising HTTP/2 frame size to 256K thus making our default read size fit into a single frame. The problem here is that it requires custom GRPC library since http2MaxFrameLen = 16384 // 16KB frame assumption is built into grpc-go. But we can advertise bigger frames and make this constant be a variable (available to change via experimental package). Of course tests need to be done here to ensure it makes sense at all, maybe even isolated non-NeoFS tests first. If it gives something noticeable we can try to push the respective change to grpc-go.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining grpc-go's http2MaxFrameLen assumption and how the NeoFS default read size is framed. Run isolated non-NeoFS tests first, then test advertising and using 256K HTTP/2 frames. Done means tests show whether the larger frames provide a noticeable benefit and establish whether an upstream grpc-go change is justified.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, grpc
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.