0

I am looking for disable tcp slow start mechanism for high-speed network. Currently clients send 100MB flows to random servers with non-blocking 1Gbps link. In my math, the completion time of the flows is less than 1 second.

But the problem is that they cannot reach to a full link bandwidth. In other words, they are finished at slow start phase before getting a full link bandwidth. Therefore, I want to increase tcp congestion window size to maximum.

Is there anyone who know how I change that value easily without modification of kernel?

Thx~

2
  • what is your linux kernel version?
    – mvp
    Jun 10, 2013 at 4:08
  • ubuntu 12.04lts and kernel version is Linux user-X9DR3-F 3.2.0-44-generic #69-Ubuntu SMP Thu May 16 17:35:01 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    – Junho Suh
    Jun 10, 2013 at 10:06

1 Answer 1

0

In older Linux kernel versions initial congestion window value (initcwnd) was as low as just 2 (2*MSS, or about 3KB), and since 3.0 new default is 10 (about 14KB).

Provided that your Linux kernel is not very ancient, you can increase initial congestion window using command ip, something like this:

Get current default route info:

$ ip route | grep default
default via 192.168.1.1 dev eth0  proto static

Assign new initcwnd value to this route:

$ sudo ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10

This increases default initial congestion window to higher value of 10*MSS (~14KB). You might want to play with values higher than this, probably as high as 40.

For more information, read original Google proposal to increase initcwnd and also this article.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .