精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺談TCP優(yōu)化

運維 系統(tǒng)運維
很多人常常對TCP優(yōu)化有一種霧里看花的感覺,實際上只要理解了TCP的運行方式就能掀開它的神秘面紗。Ilya Grigorik 在「High Performance Browser Networking」中做了很多細致的描述,讓人讀起來醍醐灌頂,我大概總結(jié)了一下,以期更加通俗易懂。

很多人常常對TCP優(yōu)化有一種霧里看花的感覺,實際上只要理解了TCP的運行方式就能掀開它的神秘面紗。Ilya Grigorik 在「High Performance Browser Networking」中做了很多細致的描述,讓人讀起來醍醐灌頂,我大概總結(jié)了一下,以期更加通俗易懂。

流量控制

傳輸數(shù)據(jù)的時候,如果發(fā)送方傳輸?shù)臄?shù)據(jù)量超過了接收方的處理能力,那么接收方會出現(xiàn)丟包。為了避免出現(xiàn)此類問題,流量控制要求數(shù)據(jù)傳輸雙方在每次交互時聲明各自的接收窗口「rwnd」大小,用來表示自己最大能保存多少數(shù)據(jù),這主要是針對接收方而言的,通俗點兒說就是讓發(fā)送方知道接收方能吃幾碗飯,如果窗口衰減到零,那么就說明吃飽了,必須消化消化,如果硬撐的話說不定會大小便失禁,那就是丟包了。

Flow Control

接收方和發(fā)送方的稱呼是相對的,如果站在用戶的角度看:當瀏覽網(wǎng)頁時,數(shù)據(jù)以下行為主,此時客戶端是接收方,服務(wù)端是發(fā)送方;當上傳文件時,數(shù)據(jù)以上行為主,此時客戶端是發(fā)送方,服務(wù)端是接收方。

慢啟動

雖然流量控制可以避免發(fā)送方過載接收方,但是卻無法避免過載網(wǎng)絡(luò),這是因為接收窗口「rwnd」只反映了服務(wù)器個體的情況,卻無法反映網(wǎng)絡(luò)整體的情況。

為了避免過載網(wǎng)絡(luò)的問題,慢啟動引入了擁塞窗口「cwnd」的概念,用來表示發(fā)送方在得到接收方確認前,最大允許傳輸?shù)奈唇?jīng)確認的數(shù)據(jù)。「cwnd」同「rwnd」相比不同的是:它只是發(fā)送方的一個內(nèi)部參數(shù),無需通知給接收方,其初始值往往比較小,然后隨著數(shù)據(jù)包被接收方確認,窗口成倍擴大,有點類似于拳擊比賽,開始時不了解敵情,往往是次拳試探,慢慢心里有底了,開始逐漸加大重拳進攻的力度。

Slow Start

在慢啟動的過程中,隨著「cwnd」的增加,可能會出現(xiàn)網(wǎng)絡(luò)過載,其外在表現(xiàn)就是丟包,一旦出現(xiàn)此類問題,「cwnd」的大小會迅速衰減,以便網(wǎng)絡(luò)能夠緩過來。

Congestion Avoidance

說明:網(wǎng)絡(luò)中實際傳輸?shù)奈唇?jīng)確認的數(shù)據(jù)大小取決于「rwnd」和「cwnd」中的小值。

擁塞避免

從慢啟動的介紹中,我們能看到,發(fā)送方通過對「cwnd」大小的控制,能夠避免網(wǎng)絡(luò)過載,在此過程中,丟包與其說是一個網(wǎng)絡(luò)問題,倒不如說是一種反饋機制,通過它我們可以感知到發(fā)生了網(wǎng)絡(luò)擁塞,進而調(diào)整數(shù)據(jù)傳輸策略,實際上,這里還有一個慢啟動閾值「ssthresh」的概念,如果「cwnd」小于「ssthresh」,那么表示在慢啟動階段;如果「cwnd」大于「ssthresh」,那么表示在擁塞避免階段,此時「cwnd」不再像慢啟動階段那樣呈指數(shù)級整整,而是趨向于線性增長,以期避免網(wǎng)絡(luò)擁塞,此階段有多種算法實現(xiàn),通常保持缺省即可,這里就不一一說明了,有興趣的讀者可以自行查閱。

如何調(diào)整「rwnd」到一個合理值

有很多人都遇到過網(wǎng)絡(luò)傳輸速度過慢的問題,比如說明明是百兆網(wǎng)絡(luò),其最大傳輸數(shù)據(jù)的理論值怎么著也得有個十兆,但是實際情況卻相距甚遠,可能只有一兆。此類問題如果剔除奸商因素,多半是由于接收窗口「rwnd」設(shè)置不合理造成的。

實際上接收窗口「rwnd」的合理值取決于BDP的大小,也就是帶寬和延遲的乘積。假設(shè)帶寬是 100Mbps,延遲是 100ms,那么計算過程如下:

  1. BDP = 100Mbps * 100ms = (100 / 8) * (100 / 1000) = 1.25MB 

此問題下如果想最大限度提升吞度量,接收窗口「rwnd」的大小不應(yīng)小于 1.25MB。說點引申的內(nèi)容:TCP使用16位來記錄窗口大小,也就是說最大值是64KB,如果超過它,就需要使用tcp_window_scaling機制。參考:TCP Windows and Window Scaling。

Linux中通過配置內(nèi)核參數(shù)里接收緩沖的大小,進而可以控制接收窗口的大小:

  1. shell> sysctl -a | grep mem 
  2. net.ipv4.tcp_rmem = <MIN> <DEFAULT> <MAX> 

如果我們出于傳輸性能的考慮,設(shè)置了一個足夠大的緩沖,那么當大量請求同時到達時,內(nèi)存會不會爆掉?通常不會,因為Linux本身有一個緩沖大小自動調(diào)優(yōu)的機制,窗口的實際大小會自動在最小值和最大值之間浮動,以期找到性能和資源的平衡點。

通過如下方式可以確認緩沖大小自動調(diào)優(yōu)機制的狀態(tài)(0:關(guān)閉、1:開啟):

  1. shell> sysctl -a | grep tcp_moderate_rcvbuf 

如果緩沖大小自動調(diào)優(yōu)機制是關(guān)閉狀態(tài),那么就把緩沖的缺省值設(shè)置為BDP;如果緩沖大小自動調(diào)優(yōu)機制是開啟狀態(tài),那么就把緩沖的最大值設(shè)置為BDP。

實際上這里還有一個細節(jié)問題是:緩沖里除了保存著傳輸?shù)臄?shù)據(jù)本身,還要預(yù)留一部分空間用來保存TCP連接本身相關(guān)的信息,換句話說,并不是所有空間都會被用來保存數(shù)據(jù),相應(yīng)額外開銷的具體計算方法如下:

  1. Buffer / 2^tcp_adv_win_scale 

依照Linux內(nèi)核版本的不同,net.ipv4.tcp_adv_win_scale 的值可能是 1 或者 2,如果為 1 的話,則表示二分之一的緩沖被用來做額外開銷,如果為 2 的話,則表示四分之一的緩沖被用來做額外開銷。按照這個邏輯,緩沖最終的合理值的具體計算方法如下:

  1. BDP / (1 – 1 / 2^tcp_adv_win_scale) 

此外,提醒一下延遲的測試方法,BDP中的延遲指的就是RTT,通常使用ping命令很容易就能得到它,但是如果 ICMP 被屏蔽,ping也就沒用了,此時可以試試 synack。

如何調(diào)整「cwnd」到一個合理值

一般來說「cwnd」的初始值取決于MSS的大小,計算方法如下:

  1. min(4 * MSS, max(2 * MSS, 4380)) 

以太網(wǎng)標準的MSS大小通常是1460,所以「cwnd」的初始值是3MSS。

當我們?yōu)g覽視頻或者下載軟件的時候,「cwnd」初始值的影響并不明顯,這是因為傳輸?shù)臄?shù)據(jù)量比較大,時間比較長,相比之下,即便慢啟動階段「cwnd」初始值比較小,也會在相對很短的時間內(nèi)加速到滿窗口,基本上可以忽略不計。

不過當我們?yōu)g覽網(wǎng)頁的時候,情況就不一樣了,這是因為傳輸?shù)臄?shù)據(jù)量比較小,時間比較短,相比之下,如果慢啟動階段「cwnd」初始值比較小,那么很可能還沒來得及加速到滿窗口,通訊就結(jié)束了。這就好比博爾特參加百米比賽,如果起跑慢的話,即便他的加速很快,也可能拿不到好成績,因為還沒等他完全跑起來,終點線已經(jīng)到了。

舉例:假設(shè)網(wǎng)頁20KB,MSS大小1460B,如此說來整個網(wǎng)頁就是15MSS。

先讓我們看一下「cwnd」初始值比較小(等于4MSS)的時候會發(fā)生什么:

Small Window

再看一下「cwnd」初始值比較大(大于15MSS)的時候又會如何:

Big Window

明顯可見,除去TCP握手和服務(wù)端處理,原本需要三次RTT才能完成的數(shù)據(jù)傳輸,當我們加大「cwnd」初始值之后,僅用了一次RTT就完成了,效率提升非常大。

推薦:大拿 mnot 寫了一個名叫 htracr 的工具,可以用來測試相關(guān)的影響。

既然加大「cwnd」初始值這么好,那么到底應(yīng)該設(shè)置多大為好呢?Google在這方面做了大量的研究,權(quán)衡了效率和穩(wěn)定性之后,最終給出的建議是10MSS。如果你的Linux版本不太舊的話,那么可以通過如下方法來調(diào)整「cwnd」初始值:

  1. shell> ip route | while read p; do 
  2. ip route change $p initcwnd 10; 
  3. done 

需要提醒的是片面的提升發(fā)送端「cwnd」的大小并不一定有效,這是因為前面我們說過網(wǎng)絡(luò)中實際傳輸?shù)奈唇?jīng)確認的數(shù)據(jù)大小取決于「rwnd」和「cwnd」中的小值,所以一旦接收方的「rwnd」比較小的話,會阻礙「cwnd」的發(fā)揮。

推薦:相關(guān)詳細的描述信息請參考:Tuning initcwnd for optimum performance

有時候我們可能想檢查一下目標服務(wù)器的「cwnd」初始值設(shè)置,此時可以數(shù)包:

Test Initcwnd

通過握手階段確認RTT為168,開始傳輸后得到第一個數(shù)據(jù)包的時間是409,加上RTT后就是577,從409到577之間有兩個數(shù)據(jù)包,所以「cwnd」初始值是2MSS。

需要額外說明的是,單純數(shù)包可能并不準確,因為網(wǎng)卡可能會對包做點手腳,具體說明信息請參考:Segmentation and Checksum Offloading: Turning Off with ethtool

補充:有人寫了一個名叫 initcwnd_check 的腳本,可以幫你檢查「cwnd」初始值。

實踐是檢驗真理的唯一標準,希望大家多動手,通過實驗來檢驗結(jié)果,推薦一篇不錯的文章:Impact of Bandwidth Delay Product on TCP Throughput,此外知乎上的討論也值得一看:為什么多 TCP 連接分塊下載比單連接下載快,大家有貨的話也請告訴我。

責任編輯:黃丹 來源: 火丁筆記
相關(guān)推薦

2020-04-10 08:55:26

TCPIPBBR算法

2019-04-16 11:02:10

TCPIPLinux

2023-11-15 18:46:49

HBase數(shù)據(jù)庫開源

2012-06-01 10:23:47

Mobile Site優(yōu)化

2011-07-28 10:01:19

IOS 內(nèi)存優(yōu)化

2009-07-05 11:23:44

2009-06-25 14:09:37

優(yōu)化MyEclipse

2009-05-04 09:52:49

Oracle優(yōu)化排序

2010-09-29 16:38:03

企業(yè)應(yīng)用訪問

2009-07-21 14:16:02

ASP.NET管道優(yōu)化

2009-06-29 10:19:42

.NET Micro性能優(yōu)化

2011-07-21 16:55:10

SEO

2010-06-13 14:49:40

TCP IP協(xié)議優(yōu)化

2014-03-11 15:47:29

大型網(wǎng)站速度優(yōu)化運維人員

2019-01-09 13:07:26

Tomcat服務(wù)器優(yōu)化

2022-04-12 08:22:54

Linux內(nèi)核操作系統(tǒng)

2011-06-19 12:20:47

長尾關(guān)鍵詞

2011-07-05 18:30:44

站內(nèi)優(yōu)化

2011-07-18 18:01:34

buffer cach

2011-07-22 15:44:26

SEO
點贊
收藏

51CTO技術(shù)棧公眾號

欧美视频二区| а√天堂8资源在线官网| 综合天堂久久久久久久| 亚洲激情在线观看| 日韩毛片在线免费看| 国产福利小视频在线| 国产又黄又大久久| 欧美亚洲视频在线看网址| 欧美xxxx精品| 激情小说一区| 欧美性色黄大片| 高清无码视频直接看| 日韩精品视频在线观看一区二区三区| 日本不卡高清视频| 午夜精品福利电影| 亚洲国产123| 久久综合色占| 精品国产百合女同互慰| www.久久91| 午夜影视一区二区三区| 成人免费在线观看入口| 国语精品中文字幕| 艳妇乳肉豪妇荡乳av无码福利| 欧美日韩一区自拍| 日韩亚洲欧美中文高清在线| jizz日本免费| 日韩在线网址| 欧美狂野另类xxxxoooo| 国产精品无码专区av在线播放| 亚洲无线看天堂av| 中文字幕在线视频一区| 日本不卡在线播放| 五月色婷婷综合| 国产成人av电影在线| 成人福利视频网| 91video| 在线国产欧美| 欧美国产日韩一区二区| 国产这里有精品| 成人在线免费视频观看| 亚洲性生活视频| 久久人人爽人人爽人人片| 136福利精品导航| 日韩一区二区免费视频| 超碰在线资源站| 欧美特黄色片| 欧美片在线播放| 亚洲久久中文字幕| 国产精品第一国产精品| 在线免费观看成人短视频| www.四虎成人| 欧美大电影免费观看| 色哟哟国产精品| 国产天堂在线播放| 日韩av一级| 91九色02白丝porn| 久久九九国产视频| 精品国产欧美日韩一区二区三区| 色老头久久综合| 香蕉视频网站入口| 日韩毛片网站| 欧美一区二区三区四区久久| 男生和女生一起差差差视频| 欧美久久一区二区三区| 精品久久国产字幕高潮| 久久久久久久人妻无码中文字幕爆| 97久久亚洲| 亚洲国产精品va在看黑人| 青青草视频播放| 国产成人久久| 色琪琪综合男人的天堂aⅴ视频| 激情高潮到大叫狂喷水| 欧美精品一线| 91福利视频网| 美女黄页在线观看| 国产一区二区视频在线| 成人在线视频网址| 日本高清视频www| 91看片淫黄大片一级在线观看| 任我爽在线视频精品一| h网站久久久| 午夜欧美视频在线观看| 已婚少妇美妙人妻系列| 四虎国产精品免费久久5151| 精品人在线二区三区| 一二三不卡视频| 欧美国产偷国产精品三区| 久久精品人人做人人爽| 日韩男人的天堂| 日韩高清欧美激情| 国产日韩欧美夫妻视频在线观看 | 亚洲电影第三页| 成人在线免费播放视频| 成人短视频软件网站大全app| 精品国产乱子伦一区| 少妇无套高潮一二三区| 在线国产一区| 国产成人精品午夜| 精品久久人妻av中文字幕| 久久亚洲私人国产精品va媚药| 亚洲日本理论电影| 91美女精品| 在线不卡中文字幕播放| 日韩 中文字幕| 欧美99久久| 国产精品久久久久99| 亚洲精品一区二区三区区别| 亚洲国产精品精华液ab| 蜜臀av无码一区二区三区| av在线日韩| 亚洲国产天堂久久国产91| 日本少妇aaa| 日韩亚洲国产欧美| 亚洲已满18点击进入在线看片 | 日韩中文在线| 最近2019年日本中文免费字幕| 国产在线欧美在线| 国产呦精品一区二区三区网站| 欧美激情第一页在线观看| 青草视频在线免费直播 | 国产成人精品免费视| 欧美极品少妇全裸体| 6—12呦国产精品| 久久精品无码一区二区三区| 欧美黑人经典片免费观看| av日韩久久| 色综合影院在线| 精品一区二区无码| 久久午夜老司机| 黄色网页免费在线观看| 亚洲第一二区| 欧美超级免费视 在线| 中文字幕在线观看1| 久久噜噜亚洲综合| 日本www在线播放| 国产精品欧美大片| 欧美精品video| 亚洲欧美另类日韩| 一区二区三区精密机械公司| 在线视频观看91| 香蕉视频官网在线观看日本一区二区| 国产精品久久久久久久久借妻| 欧美理论在线观看| 色婷婷综合五月| 自拍偷拍亚洲天堂| 日韩精品一级二级| 亚州欧美一区三区三区在线| 欧亚一区二区| 一区二区三区视频在线| 国产乱码在线观看| 国产精品第13页| 不用播放器的免费av| 天天综合精品| 亚洲综合精品一区二区| 日本一本在线免费福利| 精品久久99ma| 亚洲av中文无码乱人伦在线视色| 久久久99精品免费观看| 国产成人av影视| 久久精品国产68国产精品亚洲| 国产啪精品视频| 91蜜桃在线视频| 亚洲国产精品久久91精品| 亚洲精品1区2区3区| 久久这里只有精品首页| 三年中国国语在线播放免费| 91影院成人| 91久久国产综合久久蜜月精品| 国产桃色电影在线播放| 亚洲国产美女久久久久 | 日韩欧美一区二区不卡| 国产午夜小视频| 久久色.com| 黄色一级片免费的| 国产精品s色| 麻豆av一区二区三区久久| 日韩毛片一区| 欧美激情xxxx| 免费动漫网站在线观看| 911精品产国品一二三产区| 国产在线综合网| 国产三级精品三级在线专区| 久久国产激情视频| 在线精品一区| 一本色道久久99精品综合| 91精品入口| 国产精品久久国产精品99gif| 主播国产精品| 亚洲无亚洲人成网站77777| 国产精品久久777777换脸| 精品久久久久久中文字幕| www.涩涩爱| 国产成人精品一区二区三区网站观看| 男人的天堂99| 欧美1区2区视频| 相泽南亚洲一区二区在线播放| 波多野结衣在线一区二区| 国产精品女主播| 涩涩视频在线免费看| 精品精品国产国产自在线| 日韩资源在线| 日韩欧美亚洲国产精品字幕久久久| 国产又大又黄视频| 一区二区三区在线免费观看| 国产sm调教视频| heyzo一本久久综合| 欧美丝袜在线观看| 视频一区在线视频| 国产一二三在线视频| 日韩免费在线| 热re99久久精品国99热蜜月| 欧美精品影院| 91免费看国产| aaaa欧美| 国产91精品高潮白浆喷水| 日本不卡不卡| 亚洲性69xxxbbb| 丝袜+亚洲+另类+欧美+变态| 日韩一区二区不卡| 国产精品高潮呻吟av| 一本高清dvd不卡在线观看| 精品少妇久久久| 亚洲免费资源在线播放| 亚洲综合第一区| 久久久久99精品国产片| 少妇饥渴放荡91麻豆| 国产69精品久久777的优势| 在线观看av网页| 日韩精品91亚洲二区在线观看| 奇米精品一区二区三区| 伊人久久大香线蕉av超碰演员| 偷拍盗摄高潮叫床对白清晰| 日韩精品久久久久久久电影99爱| 欧美日韩国产精品一卡| 青草久久视频| 精品久久蜜桃| 欧美一区自拍| 久久国产精品久久| 色爱综合av| 久久精品欧美| 久久av综合| 欧美一级日本a级v片| 国产精品一区二区99| 欧美日韩精品不卡| 国产精品一线天粉嫩av| 欧美性xxxx69| 欧美日韩色图| 亚洲制服欧美久久| 99精品全国免费观看视频软件| 亚洲一区二区三区免费看| 日本不卡高清| 天堂v在线视频| 中文精品久久| 99在线免费视频观看| 亚洲国产免费看| 亚洲自偷自拍熟女另类| 乱码第一页成人| 亚洲老女人av| 国产在线视视频有精品| 佐佐木明希电影| 91在线观看地址| 国产亚洲精品熟女国产成人| 国产精品美女久久久久av爽李琼| 国产在线观看免费视频软件| 亚洲欧美一区二区久久| 久一区二区三区| 大桥未久av一区二区三区| 国产精品乱码一区二区视频| 欧美日高清视频| 成人h动漫精品一区二区无码| 亚洲成人在线网| 精品久久久久一区二区三区| 日韩在线免费视频| 日本天码aⅴ片在线电影网站| 91精品国产高清| 国产成人午夜性a一级毛片| 成人夜晚看av| 欧美大奶一区二区| 亚洲v欧美v另类v综合v日韩v| 婷婷综合久久| 女人天堂av手机在线| 久久99精品久久久久久国产越南| 不许穿内裤随时挨c调教h苏绵| 91视频国产资源| 国产一二三四区| 欧美午夜电影在线| 91在线公开视频| 日韩电影中文字幕在线| 在线国产情侣| 97国产一区二区精品久久呦| 亚洲精品在线影院| 98国产高清一区| 亚洲日本三级| 成人av在线播放观看| 日韩和欧美的一区| 国产日韩视频一区| 一区免费观看视频| 啦啦啦免费高清视频在线观看| 欧美日韩精品三区| 天堂а√在线8种子蜜桃视频| 久久精品国产一区二区三区| 伊人网在线播放| 亚洲综合最新在线| 国产在视频线精品视频www666| 日韩一二区视频| 日韩高清在线观看| 亚洲欧美在线不卡| 亚洲精品中文在线影院| 无码人妻av免费一区二区三区| 精品日韩在线观看| 麻豆网站在线观看| 国产精品99免视看9| 欧美日韩直播| 日本阿v视频在线观看| 激情图区综合网| 日韩视频在线观看免费视频| 精品成人在线视频| 亚洲免费国产视频| 久久久国产精品视频| 国偷自产一区二区免费视频| 国产精品三区在线| 中文字幕日韩欧美精品高清在线| 日本人视频jizz页码69| 久久人人97超碰com| 亚洲激情视频一区| 日韩欧美一二区| 自由的xxxx在线视频| 91免费看国产| 亚洲一区二区三区| 手机在线国产视频| 国产精品美女久久福利网站| 波多野结衣绝顶大高潮| 亚洲欧美激情视频| 天堂√8在线中文| 久久久久久久有限公司| 亚洲第一伊人| 中文字幕一区二区三区乱码不卡| 一区二区三区在线视频播放| 国产三级精品在线观看| 久久天天躁日日躁| 国产成年精品| 一二三四中文字幕| 国产毛片一区二区| eeuss中文字幕| 欧美人与z0zoxxxx视频| 国产黄网站在线观看| 91夜夜揉人人捏人人添红杏| 亚洲国产精品综合久久久| www.国产福利| 亚洲国产综合视频在线观看| 男人天堂手机在线观看| 欧美亚洲第一页| 在线亚洲a色| 亚洲老女人av| 亚洲视频狠狠干| 亚洲第一页在线观看| 午夜精品在线视频| 日韩影视高清在线观看| 国产日韩一区二区在线观看| 国产亚洲精品bt天堂精选| 最新中文字幕免费| 久久久国产精品亚洲一区| 一区二区免费| 国产高清精品在线观看| 久久久国产综合精品女国产盗摄| 中文字幕日韩国产| 久久亚洲影音av资源网 | 伊人365影院| 亚洲激情视频网| 精品欧美一区二区三区在线观看| 日韩一区国产在线观看| 狠狠久久亚洲欧美| 国产一级二级毛片| 亚洲欧美国产精品专区久久| 国模私拍国内精品国内av| 日本a级片在线观看| 成人美女视频在线观看18| 久久久久久久亚洲| 久久最新资源网| 欧美美女啪啪| 九九热免费在线观看| 亚洲成a人片在线观看中文| 国产在线观看免费网站| 51午夜精品| 麻豆久久精品| 中文字幕在线观看成人| 精品亚洲夜色av98在线观看| 国产69精品久久| 日韩精品在线中文字幕| 中文字幕av一区二区三区高| 亚洲精品视频91| 国产精品入口日韩视频大尺度| 欧美午夜一区| 337人体粉嫩噜噜噜| 欧美精品一区二区三区四区| 成人精品国产亚洲| 青青草视频在线免费播放| 国产精品久久毛片a| 天天操天天操天天操| 成人免费网视频|