異步 IO 的好處

上篇文章中畏纲,分析了幾種任務(wù)處理模型:單線程阻塞 IO、多線程非阻塞 IO 和單線程非阻塞 IO 的性能盈厘,并畫出了簡單的流程圖睁枕。
同時,為了簡化理解沸手,在場景模擬中給出了一個限定條件:請求分析外遇、IO 讀取和響應(yīng)處理的耗時各位 1ms,那這個設(shè)定是不是合理的呢契吉?

IO類型和花費的CPU時鐘周期.png

上圖展示了不同的 IO 操作所占用的 CPU 時鐘周期跳仿,在計算機中,CPU 的運算速度最快捐晶,以其的運算速度為基準菲语,時鐘周期為1妄辩。其次是一級緩存、二級緩存和內(nèi)存,硬盤和網(wǎng)絡(luò)最慢,它們所花費的時鐘周期和內(nèi)存所花費的時鐘周期差距在五位數(shù)以上薄料,更不用提跟 CPU 和一級緩存、二級緩存的差距了踏揣。
注:CPU 時鐘周期的計算公式為:

CPU 時鐘周期 = 1s / CPU 主頻

因此,我們在場景模擬中的限定是有問題的:CPU 運算的時間其實遠遠小于數(shù)據(jù)庫 IO 讀寫的時間,正確的流程圖應(yīng)該像這樣:


請求流程.png

如果采用阻塞式的 IO,CPU 將空閑相當長的時間等待 IO 操作完成楞黄,性能浪費嚴重。在這個模型下寄摆,如果進行 IO 操作 A 花費是時間為 M谅辣,進行 IO 操作 B 花費的時間為 N,那么在 IO 上花費的時間就為 (M + N + ...)婶恼。可見柏副,同步式(阻塞式)IO 的代價是十分昂貴的勾邦。

分布式 IO

前面說到,阻塞式 IO 的代價是昂貴的割择,對于分布式架構(gòu)而言眷篇,阻塞式 IO 的代價更加昂貴,先看下面兩個流程圖:


非分布式 IO.png
分布式IO.png

當網(wǎng)站越來越大荔泳,我們就會引入靜態(tài)資源 CDN蕉饼、服務(wù)器集群和數(shù)據(jù)庫集群,這就構(gòu)成了一分布式的 IO玛歌,相比于將所有的資源放在一臺服務(wù)器上昧港,分布式 IO 增加了一層網(wǎng)絡(luò)請求和磁盤讀寫(可以從花費 CPU 時鐘周期的角度看),這種情況下如果還采用阻塞式 IO支子,其代價將會大的讓別的男人傷心创肥。

異步 IO 的好處

對于異步 IO 來說,情況就好得多值朋,還是以上面 A 和 B 兩個 IO 操作為例叹侄,如果采用異步 IO,那么在 IO 操作上的耗時就為 MAX(M昨登,N趾代,...),相比于阻塞式 IO丰辣,其代價簡直小的讓別的男人開心撒强。
在并發(fā)量較小的情況下禽捆,阻塞式 IO 和異步 IO 的差距可能不是那么明顯,但隨著并發(fā)量的增加尿褪,異步 IO 的優(yōu)勢將會越來越大睦擂,吞吐率和性能上的差距也會越來越明顯。

完杖玲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末顿仇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子摆马,更是在濱河造成了極大的恐慌臼闻,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件囤采,死亡現(xiàn)場離奇詭異述呐,居然都是意外死亡,警方通過查閱死者的電腦和手機蕉毯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門乓搬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人代虾,你說我怎么就攤上這事进肯。” “怎么了棉磨?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵江掩,是天一觀的道長。 經(jīng)常有香客問我乘瓤,道長环形,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任衙傀,我火速辦了婚禮抬吟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘差油。我一直安慰自己拗军,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布蓄喇。 她就那樣靜靜地躺著发侵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妆偏。 梳的紋絲不亂的頭發(fā)上刃鳄,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音钱骂,去河邊找鬼叔锐。 笑死挪鹏,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的愉烙。 我是一名探鬼主播讨盒,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼步责!你這毒婦竟也來了返顺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤蔓肯,失蹤者是張志新(化名)和其女友劉穎遂鹊,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蔗包,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡秉扑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了调限。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舟陆。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖耻矮,靈堂內(nèi)的尸體忽然破棺而出吨娜,到底是詐尸還是另有隱情,我是刑警寧澤淘钟,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站陪毡,受9級特大地震影響米母,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜毡琉,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一铁瞒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧桅滋,春花似錦慧耍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至号俐,卻和暖如春泌豆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吏饿。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工踪危, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蔬浙,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓贞远,卻偏偏與公主長得像畴博,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蓝仲,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353