在 Linux 3.0 内核中增加 TCP 慢启动初始窗口

在 Linux 3.0 内核中增加 TCP 慢启动初始窗口

我正在检查我网站的 IW,发现它的4

[user~]$ sudo tcpdump -n -i any 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn and port 80'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
10:13:20.971391 IP 175.x.x.x > 17.x.x.x.http: Flags [S], seq 3929903562, win 5840, options [mss 1460,sackOK,TS val 1701657127 ecr 0,nop,wscale 6], length 0

我跑

[user~]$ uname -r
3.0.4x86_64-linode21

我怎样才能增加初始窗口

您建议重新编译新内核吗?(不想这么做)或者还有其他方法吗?

nginx HTTP 缓存命中需要

[site ~]$ time curl www.site.com/ >/dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6440    0  6440    0     0  26002      0 --:--:-- --:--:-- --:--:-- 39753

real    0m0.268s
user    0m0.004s
sys     0m0.012s

至少.3秒。

答案1

这在黑客新闻条目最近,这个过程涉及使用“ip route change”命令和一些特定参数。有关更多帮助,请访问第一条评论讨论,我建议您查看一下并尝试该解决方案,看看它是否有效。

您的内核非常新,因此建立慢启动设置的 initrwnd 参数似乎默认为 10... 所以您的参数为 4 有点奇怪。无论如何,只需测试一下,如果您发现任何改进,请告诉我们!

答案2

如果你的内核低于 3.2,那么我建议

sudo ip route change default via ip.address dev eth0 initcwnd 15 

你可以用以下方法计算出 ip.address

ip route show

您需要将其添加到启动脚本中,例如rc.local

相关内容