亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 25160 | 回復(fù): 104
打印 上一主題 下一主題

[C++] [換個(gè)地方發(fā)]請(qǐng)教大牛:異步io的優(yōu)點(diǎn)究竟在哪 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-01-21 10:09 |只看該作者 |倒序?yàn)g覽
在考慮服務(wù)器通訊模型的問(wèn)題,究竟何種情況下異步io模型相對(duì)同步io模型有較大的優(yōu)勢(shì)?原因是什么?是同步io為了應(yīng)付大并發(fā)量必須派生大量線(xiàn)程導(dǎo)致上下文切換過(guò)多造成的嗎(似乎有些場(chǎng)景并不能完全證明這點(diǎn))?

Note:
我問(wèn)的不是阻塞模型和非阻塞模型,網(wǎng)上很多對(duì)同步、異步io模型比較的文章實(shí)際都是在說(shuō)阻塞和非阻塞的事。

論壇徽章:
59
2015年亞洲杯之約旦
日期:2015-01-27 21:27:392015年亞洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵節(jié)徽章
日期:2015-03-06 15:50:392015年亞洲杯之阿聯(lián)酋
日期:2015-03-19 17:39:302015年亞洲杯之中國(guó)
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03雙子座
日期:2014-12-10 21:39:16處女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
2 [報(bào)告]
發(fā)表于 2013-01-21 10:17 |只看該作者
同步IO模型比較簡(jiǎn)單, 異步IO,看起來(lái)不錯(cuò),實(shí)際上用起來(lái),還是多線(xiàn)(進(jìn))程+同步+同步IO比較好。

個(gè)人理解,我實(shí)在想不到現(xiàn)在在什么情況下非要用異步IO不可

論壇徽章:
5
獅子座
日期:2013-08-20 10:12:24午馬
日期:2013-11-23 18:04:102015年辭舊歲徽章
日期:2015-03-03 16:54:152015亞冠之德黑蘭石油
日期:2015-06-29 18:11:1115-16賽季CBA聯(lián)賽之新疆
日期:2024-02-21 10:00:53
3 [報(bào)告]
發(fā)表于 2013-01-21 10:24 |只看該作者
回復(fù) 1# xxxxxxxp


    這個(gè)解釋起來(lái)還真不是一句兩句的問(wèn)題。從操作系統(tǒng)到用戶(hù)層技術(shù),從線(xiàn)程到協(xié)程,從網(wǎng)絡(luò)到服務(wù)器。說(shuō)起來(lái)可麻煩了。而且也不好給一個(gè)概括的說(shuō)法。

首先你得知道什么是異步IO。其實(shí)有時(shí)候它們的區(qū)別并不明顯,特別是當(dāng)你引入?yún)f(xié)程作為設(shè)計(jì)架構(gòu)的時(shí)候。

表面上說(shuō)異步IO在邏輯進(jìn)行的時(shí)候不需要等待IO完成,可以啟動(dòng)IO之后直接繼續(xù)執(zhí)行邏輯,在IO結(jié)束以后得到通知。不過(guò)說(shuō)起來(lái)簡(jiǎn)單,現(xiàn)在很多異步是用同步+poll做出來(lái)的效果。真正的異步IO(aio,SIGIO)目前應(yīng)用較少。你說(shuō)的啟動(dòng)一個(gè)線(xiàn)程在后頭等其實(shí)也是根正苗紅的異步IO。

操作系統(tǒng)內(nèi)部的IO都是異步的——因?yàn)樘幚碇袛嘁鞙?zhǔn)狠,不能老拖著。問(wèn)題似乎在于接口不好設(shè)計(jì)。我個(gè)人覺(jué)得回調(diào)什么的可能是最好的選擇了。

總而言之,異步IO相比同步來(lái)說(shuō)其實(shí)沒(méi)什么差別,因?yàn)楝F(xiàn)在已經(jīng)基本上沒(méi)有什么同步IO了。你就算全都是阻塞的寫(xiě)的,你CPU也飚不到100%,因?yàn)樵谀愕却臅r(shí)候,CPU會(huì)把控制權(quán)切給別人,這種行為本質(zhì)上就是異步的了。所以,如果非要說(shuō)的話(huà),用異步IO,可以完全利用CPU資源(雖然同步其實(shí)也做得到這點(diǎn))。

論壇徽章:
2
亥豬
日期:2014-03-19 16:36:35午馬
日期:2014-11-23 23:48:46
4 [報(bào)告]
發(fā)表于 2013-01-21 10:30 |只看該作者
類(lèi)比 鎖。
切換開(kāi)銷(xiāo)大而事件發(fā)生時(shí)間短的時(shí)候用自旋鎖,相反,互斥鎖。
切換開(kāi)銷(xiāo)大而事件發(fā)生時(shí)間短的時(shí)候用同步io,相反,異步。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-01-21 10:30 來(lái)自手機(jī) |只看該作者
我可以對(duì)樓上提出不同意見(jiàn)嗎,沒(méi)有惡意,希望別以為我在攻擊你。
你說(shuō)了那么多,卻沒(méi)有提及真正的同步并發(fā)需要多線(xiàn)程或進(jìn)程,帶來(lái)的上下文切換會(huì)影響效率,這才是問(wèn)題的關(guān)鍵

論壇徽章:
2
亥豬
日期:2014-03-19 16:36:35午馬
日期:2014-11-23 23:48:46
6 [報(bào)告]
發(fā)表于 2013-01-21 10:30 |只看該作者
什么程度是大,什么程度是短,你的應(yīng)用測(cè)試之后說(shuō)了算。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2013-01-21 10:32 來(lái)自手機(jī) |只看該作者
不好意思,gvim大人,我用手機(jī)發(fā)帖,不能引用,我剛才是對(duì)3樓說(shuō)的,回帖太慢,被您搶先了

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2013-01-21 10:35 |只看該作者
回復(fù) 2# folklore

但nginx對(duì)apache(某版本之前)的性能優(yōu)勢(shì)在某些場(chǎng)景下是巨大的,apache會(huì)在大并發(fā)量情況下自己派發(fā)進(jìn)程,我們的有些實(shí)驗(yàn)中,這種行為會(huì)傷害性能


   

論壇徽章:
2
亥豬
日期:2014-03-19 16:36:35午馬
日期:2014-11-23 23:48:46
9 [報(bào)告]
發(fā)表于 2013-01-21 10:35 |只看該作者
回復(fù) 7# sqfasd


    好吧,對(duì)你這種堅(jiān)持手機(jī)發(fā)帖減小碳排放的行為表示十分滴支持

論壇徽章:
44
15-16賽季CBA聯(lián)賽之浙江
日期:2021-10-11 02:03:59程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-02 06:20:0015-16賽季CBA聯(lián)賽之新疆
日期:2016-04-25 10:55:452016科比退役紀(jì)念章
日期:2016-04-23 00:51:2315-16賽季CBA聯(lián)賽之山東
日期:2016-04-17 12:00:2815-16賽季CBA聯(lián)賽之福建
日期:2016-04-12 15:21:2915-16賽季CBA聯(lián)賽之遼寧
日期:2016-03-24 21:38:2715-16賽季CBA聯(lián)賽之福建
日期:2016-03-18 12:13:4015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-05 00:55:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-04 21:11:3615-16賽季CBA聯(lián)賽之天津
日期:2016-11-02 00:33:1215-16賽季CBA聯(lián)賽之浙江
日期:2017-01-13 01:31:49
10 [報(bào)告]
發(fā)表于 2013-01-21 10:35 |只看該作者
單純說(shuō)原理可能觀(guān)點(diǎn)分歧會(huì)很多,其實(shí)從現(xiàn)象看更直觀(guān)。
一個(gè)無(wú)責(zé)任測(cè)評(píng):
機(jī)器配置:E5649*6+64G內(nèi)存,使用一塊Intel千兆網(wǎng)卡(其它配置和我們討論的問(wèn)題沒(méi)什么關(guān)系,忽略),機(jī)器中未運(yùn)行其它高負(fù)載程序。

(1)自己寫(xiě)的采用異步模式的搜索服務(wù)器(源代碼在https://github.com/windoze/Argos),啟動(dòng)8個(gè)worker thread
(2)Tomcat+Solr,啟動(dòng)100個(gè)thread
用ab -c 100測(cè)試,(1)的CPU占用率約780%,(2)的CPU占用率只有27%;
增加(2)的thread數(shù),情況略有改善,最高達(dá)到40%左右;但當(dāng)thread數(shù)超過(guò)500時(shí),性能開(kāi)始下降,CPU占用率也開(kāi)始下降,與此同時(shí),Top中顯示的System CPU占用率一直居高不下,最高時(shí)超過(guò)30%。

當(dāng)然,以上測(cè)試并不能說(shuō)明異步IO本身有性能優(yōu)勢(shì),只能說(shuō)明大量的thread/process在高負(fù)載情況下會(huì)導(dǎo)致性能下降。
但問(wèn)題的關(guān)鍵是,如果你不用非阻塞式IO或者異步IO,你就沒(méi)辦法用少量的thread/process去處理大量的并發(fā)。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP