microsoft / microsoft/ethr

TCP Buffer Size inconsistencies

Open
#163 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
5.9k
Forks
406
PR merge metrics
No merged PRs in 30d

Description

I am running a bandwidth test between a server-client pair along a one-hop path. The bandwidth test is of maximal capacity. I am testing different TCP buffer sizes in order to obtain optimal client-side data-rates. However, I noticed that the server-side data-rates are multiplicatively larger than the client-side data-rates, in an unusual way, for larger TCP buffer sizes. For instance, at a TCP buffer of 40MB,
Screen Shot 2021-10-11 at 5 20 11 PM
are the datarates I get on the Server Side. On the client side, it averages around 30 Gbps.

The server and client side datarates seem to be approximately equal at around 1MB TCP buffers, where the data-rates average around 25-30 Gbps, and at around 4-5 MB, they seem to start getting weird (where the server side starts getting multiplicatively higher datarates).

Thanks!

Contributor guide

No contributing guide indexed for this repository

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 reproducing the maximal-capacity TCP bandwidth test described, comparing client and server rates at 1 MB, 4–5 MB, and 40 MB buffer sizes. Done means determining why larger buffers produce multiplicatively higher server-side rates and documenting or correcting the behavior so the measurements are consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
networking, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.