国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

網絡協議全民季——人人都該懂點兒TCP

網絡 網絡管理
TCP是將你要發送的數據打包的算法,他們的HTTP需要用兩個小包發送POST請求。

即使你的工作也許不需要對TCP了如指掌,也不需要去了解具體的TCP/IP實例。你也應該懂一些基本的TCP知識,本文會告訴你為什么。

我以前在Recurse Center工作的時候,曾經用Python寫過一個TCP棧(還寫了一篇博文用Python實現TCP棧可以學到什么)。這是很有意思的一課,也基本上是我對TCP的所有了解了。

一年之后,工作上遇到了困難。有同事在Slack上問到:“嘿,我向NSQ推消息總是會有40ms的延遲,不知道為什么。”這個問題我思來想去,過了一個周,還是毫無頭緒。

這里解釋一下: NSQ是一個用來發消息的隊列。發送方式是向localhost發出一個HTTP請求,這個動作不可能花費40ms,一定是出了錯。但是NSQ不具備很高的CPU優先級,也沒有占用大量內存,所以問題不是出在垃圾回收那邊。

后來,我想起來一周之前讀過的一篇文章——我們是如何在每一個POST請求上省出200ms的(In search of performance - how we shaved 200ms off every POST request)。這篇文章討論了一開始每一個POST都會多花200ms的原因,多少有些詭異。下面是這篇文章中的內容。

ACK延遲和TCP_NODELAY

Ruby的Bet::HTTP將POST請求分成兩個TCP包——一個header,一個body.curl,相比之下,將它們組合成一個倒是更加合適。不過更糟的是,Net:HTTP沒有給它打開的TCP socket設置TCP_NODELAY,所以發送***個包之后,要等到確認才會發送第二個。歸根結底,這是Nagle算法導致的。
連接的另一端,HAProxy要選擇用何種方式確認這兩個包。在1.4.18(正式我們使用的版本),它使用的是TCP延時確認,延時確認在Nagle算法中表現很糟糕,導致請求在這個地方暫停了,直至超時。

我來總結一下這段話:

TCP是將你要發送的數據打包的算法

他們的HTTP需要用兩個小包發送POST請求

整個過程就像下面這樣:

application:嗨!給你***個包
HAProxy:噓……我們要等第二個包
HAProxy:對了,我們要給他個確認,不過沒什么大不了的,等會再說
application:噓……我們等到***個包的確認再發第二個,也許網絡堵車了,再等一會
HAProxy:煩死了,我們發***個包的確認吧
application:收到確認,發第二個包!!!!
HAProxy:搞定!

這段時間內,HAProxy和application都在消極地等待,直到超過200ms。application等待是因為Nagle算法,HAProxy等待是因為延遲ACK。

據我所知,延遲的ACK在所有Linux系統都是默認打開的。所以這不是特例,只要你發送的數據多于一個TCP包,你也會碰上這種事。

終于搞定了問題

讀了這篇文章之后,覺得沒什么了不起的。但是在我們的神秘40ms掙扎了許久,我想起來這篇文章。

我想:這可能是我的問題嗎?可能嗎??可能嗎?!我給團隊發了一封郵件說“可能是我瘋了,不過,有可能是TCP的問題。”

于是我將TCP_NODELAY打開,然后——BOOM!

所有的40ms延遲統統消失了,這個世界***了。我真是個天才!

ACK延遲應該完全關閉嗎

提一個小插曲,我在HN上看到了這條評論:

真正的問題處在ACK延遲上。200ms延時設定是糟糕的主意,1985年在伯克利搞BSD的那幫人,根本不理解這個問題。
ACK延遲是賭應用層一定會在200ms之內收到回復。雖然幾乎每次都輸,但是ACK延遲依然在用。

他在評論中討論了ACK是成本很低的,這中做法所導致的問題比它解決的問題要嚴重的多。

如果你不懂TCP,就搞不定這個問題

以前我總認為TCP是相當底層的東西,我永遠不需要去了解它。雖然差不多是這樣,但是實際生活中,你依然可能遇見和TCP算法相關的Bug,這時候懂一些TCP的知識就至關重要了。(本文也可以引申為,系統調用,操作系統這些都很重要,這個道理適用于很多東西。)

ACK延時/TCP_NODELAY很糟糕——它可能對任何寫HTTP請求代碼的人造成影響。但是你不必成為系統編程方面的天才,懂一點TCP就幫我搞定了這個問題,也讓我意識到,出現這個問題我也有責任。我也在用strace,strace萬歲!

責任編輯:何妍 來源: laixintao
相關推薦

2015-03-13 10:40:37

2010-09-02 23:52:15

VoIP網絡協議

2014-06-19 14:48:03

TCP

2010-06-12 15:54:09

TCP IP協議

2019-09-18 20:07:06

AndroidTCP協議

2020-07-28 08:38:10

TCPUDP協議

2020-05-15 14:30:23

前端瀏覽器架構

2011-07-19 11:35:09

linux網絡協議

2013-03-12 13:52:56

編程

2010-08-25 10:35:31

微軟

2010-09-02 16:00:52

網絡協議套件

2010-09-17 16:09:50

無線網絡協議

2014-05-21 16:11:53

2019-04-29 10:26:49

TCP網絡協議網絡通信

2010-09-09 16:28:19

2018-12-03 05:54:48

Wireshark網絡協議TCP

2021-10-27 09:20:56

Bug代碼語言

2010-08-26 17:24:47

2021-03-18 11:45:49

人工智能機器學習算法

2020-05-19 14:00:09

人工智能機器學習AI
點贊
收藏

51CTO技術棧公眾號

日本高清不卡的在线| 喷白浆一区二区| 欧美大片aaa| 国产成+人+综合+亚洲欧美丁香花| 精品美女久久久久久免费| 2020国产精品自拍| 精品久久久国产| 久久亚洲国产精品日日av夜夜| www在线观看黄色| 成人精品一区二区三区校园激情| 欧美国产禁国产网站cc| a天堂资源在线观看| 麻豆免费看一区二区三区| 国产成人免费电影| 日韩一区自拍| 亚洲xxxxx性| 亚洲国产专区校园欧美| 91久久精品美女| 黄色网页在线播放| 国产精品高精视频免费| 全部a∨一极品视觉盛宴| 97se亚洲国产综合自在线观| 国产精品久久久久久久久久久久久久 | 欧美成人一区二区三区在线观看 | 在线亚洲成人| 成人h视频在线观看| 在线黄色国产视频| 成人中文字幕在线| 在线观看成人av电影| 日本不卡在线视频| 久久久久一区二区| 你懂的国产精品| 国产精品久久久91| 成人激情在线| 亚洲xxxx视频| 婷婷亚洲综合| 欧美日韩精品免费观看| 岛国av在线网站| 亚洲一区免费视频| 日韩一区av| 日韩欧美国产一二三区| 成人在线爆射| 欧美激情视频三区| 久久99成人| 91精品国产综合久久男男| xnxx国产精品| 欧美不卡在线播放| 国内久久精品| 欧美性猛交xxxxxxxx| 天天爽夜夜爽一区二区三区| 亚洲精选一区| 午夜精品久久久久久久99热浪潮| 一区二区av在线| 久草资源在线观看| 色婷婷综合五月| 三级在线免费看| 国产一区在线观看视频| 亚洲精品国产精品自产a区红杏吧| 免费看a在线观看| 欧美一级欧美三级| 在线观看爽视频| 国产乱肥老妇国产一区二 | 福利一区在线观看| 成熟丰满熟妇高潮xxxxx视频| 国产一线二线三线女| 国产女大学生av| 狠狠躁18三区二区一区| 日色在线视频| 97色在线视频观看| 欧美猛男同性videos| 国产高清日韩| 国产欧美一区二区三区四区| 黄色成人美女网站| 色综合天天天天做夜夜夜夜做| 精品亚洲综合| 91精品国产91久久久久| 99精品国产99久久久久久白柏| 一区二区三区高清在线视频| 91精品国产乱码久久久久久久久| 久久国产免费看| 已婚少妇美妙人妻系列| 日韩和欧美一区二区三区| xx欧美撒尿嘘撒尿xx| 亚洲精品白浆高清| 久久久久久久久久久久久久| 日本人成精品视频在线| 韩国欧美一区二区| 欧洲精品一区二区三区久久| 在线视频亚洲欧美中文| 亚洲国产精品久久久男人的天堂| 国产精品综合二区| 成人观看网址| 天堂99x99es久久精品免费| xxx国产在线观看| aaa国产精品视频| 日韩电影中文字幕在线观看| 美女扒开腿让男人桶爽久久动漫| 91天堂在线观看| 亚洲一二三四在线观看| 欧美激情a在线| 中文字幕欧美区| 成人精品国产亚洲| 亚洲一区在线电影| 国产三级中文字幕| 日韩极品少妇| 欧美日韩一区二区三区69堂| 香蕉久久免费影视| 亚洲欧洲一二三| 日本高清中文字幕| 国产在线拍揄自揄拍无码| 最新国产精品久久精品| 茄子视频成人在线| 668精品在线视频| 国产免费成人av| 精品视频在线免费看| 国产亚洲观看| 九色精品美女在线| 日本福利视频一区| 亚洲精品一区久久久久久| 夜色激情一区二区| 成人毛片老司机大片| 欧美成人69| 伊人久久大香线蕉综合网站 | 国内精品久久久久影院薰衣草| 希岛爱理一区二区三区| 色播一区二区| 欧美片第一页| 国产精品二三区| 成人免费直播在线| 免费看精品久久片| 丰满少妇一区| 欧美 日韩 亚洲 一区| 一区二区三区的久久的视频| 97超碰免费观看| 欧美一区二区福利| 亚洲美女在线看| 精品久久久久一区| 中文字幕中文字幕在线十八区| 国产免费成人在线| 99久热re在线精品996热视频| 国产成人久久久精品一区| 精品av综合导航| 精品久久久久久久久久久久久久久 | 最新欧美电影| 欧美成人家庭影院| 欧美一区久久久| 蜜桃av在线| 国产人与zoxxxx另类91| 日本免费一区二区视频| 女厕嘘嘘一区二区在线播放| 亚洲91视频| 久久久久网站| 国产一区二区三区综合| 99久久99久久精品免费观看| 国产精品网曝门| 欧美性猛交xxxx免费看漫画| 欧美成人女星排名| 亚洲女人天堂网| 久久亚洲电影天堂| 国产va免费精品高清在线| 国产日韩视频在线观看| 色噜噜一区二区| www.99av.com| 免费看男男www网站入口在线| 97影视大全免费追剧大全在线观看| 91精品国产综合久久香蕉的用户体验| 亚洲欧洲在线观看| 欧美日韩国产精品自在自线| 色成年激情久久综合| 日韩三级中文字幕| 亚洲欧美日韩精品一区二区| 中文字幕久久精品一区二区| 亚洲精品精选| 日本丶国产丶欧美色综合| 欧美午夜一区二区福利视频| v888av成人| 欧美黑人又粗又大又爽免费| 第一页在线观看| 亚洲精品影片| 国产福利一区二区三区视频| 欧美日韩国产精品专区| 久久高清视频免费| 涩涩涩999| 成人18在线| 国产99久久精品一区二区300| 国产一区二区三区久久久 | 国产日韩在线观看av| 精品久久精品| 欧美美女啪啪| 免费视频亚洲| 蜜桃a∨噜噜一区二区三区| 欧美成人福利| 国产精品色在线网站| 东京一区二区| yiren22亚洲综合| 成人看片网站| 国产在线青青草| 日韩资源av在线| 欧美日韩天天操| 亚洲一二三区精品|