Skip to content

Optimise TCP send performance #71

Open
@bmerry

Description

@bmerry

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions