慢启动的目的是为了逐步的找到适合于用户的带宽,如果它的初始窗口太小,可能需要很长的时间才能达到适合用户的带宽,其影响是连接的效率“偏低”。如果窗口太大,影响是造成大的burst,从而导致网络拥塞。
以前连接的初始窗口大小是2,现在业内关于提高连接的初始窗口大小已经成为共识,google很早以前改成过3,我以前改过4,据说淘宝改成7,google现在要改成10,还有人改过20。。。。。。。
那么初始窗口调整成多大最好呢?这个问题让我来回答,那答案就是没有最好,只有最合适。或者说初始窗口是应该动态调整的。
首先是应用,应用背景不同,结论也不一样,对于网页来说,它是多并发的连接,如果时延小,请求的文件偏大(>10KB),那么很小的初始窗口就可能吧把用户的网络充满,,,,,,然后丢包,,,,,,(例如,google的spdy组关于初始窗口的讨论:https://6541078575799853287-a-chromium-org-s-sites.googlegroups.com/a/chromium.org/dev/spdy/An_Argument_For_Changing_TCP_Slow_Start.pdf?attachauth=ANoY7cqo59SNkKMZE953Gi1wc6QgGcbG4sChYFi4ztNenlMoh9l4TVSPOXnf0vQB3OC0CZwdll8OPNmrLggw8b1wwwVXb5L7AVcaUaDKZ7PN1ilkjz9b42mc58IkNv3MPeHOFpkOesxrMiBZrrNcCDwQvry2-OHfJ9CST6prMHxMqKFZdV9N416wbZwpp3RfG0S7Uqz_W6z-zlCi2376aULfU1DUyBRhhGouDOMtyByASl-w8oJSymA%3D&attredirects=0)
如果时延比较大,请求的文件比较小,那么好处是明显的,可以减少访问时间。。。。。。。
如果是大文件的传输,单连接,那么初始窗口大,肯定有益,特别是多网络情况好,不丢包的时候。但是对于整个连接的动态过程,你会发现它不够重要,它能做的可能只是锦上添花。
对于在中国,中国的网络环境而言,(随着CDN的普及)初始窗口大小的调整,并没有我们想象中的重要,特别是对于tcp协议优化,“均贫富”的目标来说,并没有太、特别大的价值。
阅读(2955) | 评论(0) | 转发(0) |