Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimise TCP send performance #71

Open
bmerry opened this issue May 13, 2019 · 0 comments
Open

Optimise TCP send performance #71

bmerry opened this issue May 13, 2019 · 0 comments
Assignees

Comments

@bmerry
Copy link
Contributor

bmerry commented May 13, 2019

1.13.0 improves send performance by batching, but the TCP backend still works on a single packet at a time. It's possible that this could be improved by using multiple packets, and either

  • combining their buffer sequence into one big one and using a single write call (which might make error reporting a bit trickier since it could combine multiple heaps)
  • using sendmmsg
  • using TCP_CORK / MSG_MORE
  • Let the writer pick the packet size if none is explicitly specified (and use a big default for TCP); doesn't help with small heaps though
  • Use MSG_ZEROCOPY if the packets are big enough to justify it (or io_uring)

Some investigation is needed to determine whether any of these are beneficial.

@bmerry bmerry self-assigned this May 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant