一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Remember: 我們是做產(chǎn)品的,不是搞學(xué)術(shù)研究的 & 用事實(shí)說(shuō)話(huà),不要臆斷

近來(lái)發(fā)現(xiàn),有很多同事在設(shè)計(jì)ASP.NET Application時(shí),選擇用字符串拼Html文本而不用GridView等控件,原因居然是“ASP.NET太慢”。看來(lái)有必要再次明確一個(gè)本質(zhì)問(wèn)題:我們是做產(chǎn)品的,不是搞學(xué)術(shù)研究的;同時(shí)要強(qiáng)調(diào)一個(gè)習(xí)慣:要用事實(shí)去證明你的猜測(cè),而不要臆斷。

一、Remember:我們是做產(chǎn)品的,不是搞學(xué)術(shù)研究的

直接貼一個(gè)前陣子的一封郵件,“全在郵件里面了”:

發(fā)件人: 
發(fā)送時(shí)間:
收件人:
主題: 答復(fù): 關(guān)于WebService的性能損失


這個(gè)問(wèn)題里面,缺少對(duì)用戶(hù)場(chǎng)景的描述。

 
我認(rèn)為,我們實(shí)際應(yīng)該關(guān)心的并不是這兩種方式的性能究竟差別有幾倍,而是他們是否會(huì)對(duì)用戶(hù)、對(duì)業(yè)務(wù)產(chǎn)生影響。

 
在這個(gè)例子里面,1500次的訪(fǎng)問(wèn),WebService多出了5000毫秒,平均每次訪(fǎng)問(wèn)多出了3ms。那么我有以下幾個(gè)問(wèn)題:
1、當(dāng)用戶(hù)執(zhí)行一次操作的時(shí)候,會(huì)調(diào)用幾次Web Service,從而會(huì)多出多少毫秒?
2、多出的這些時(shí)間,是不是我們必須省下來(lái),還是在允許接受的范圍內(nèi)、可以忽略不計(jì)?
3、如果用戶(hù)的一次操作確實(shí)需要繼續(xù)節(jié)省時(shí)間,是通過(guò)改接口方式更好更有效,還是通過(guò)其他方式(比如使用緩存、禁用ViewState、局部刷新等)更好更有效?

 
我覺(jué)得只有把這些用戶(hù)場(chǎng)景描述出來(lái),才好決策。 只要放在正確、合適的環(huán)境之中,任何一個(gè)方法都有可能是好的方法。 


我認(rèn)為一個(gè)優(yōu)秀的軟件開(kāi)發(fā)人員必須對(duì)程序的性能保持敏感。實(shí)際在.NET中,如果傳遞的數(shù)據(jù)量比較大,Web Service與Odbc方式的性能差距遠(yuǎn)不止3倍,另外使用反射與直接訪(fǎng)問(wèn)的方式相比性能差別可能超過(guò)百倍,使用屬性與使用字段的方式相比性能也有幾倍的差距。

但同時(shí),我們不能局限在這些“倍數(shù)”中,要更多的關(guān)注這些差距所造成的最終影響,而不能單純的從性能差距的倍數(shù)去判斷是否使用某個(gè)技術(shù)。

就以差距明顯的反射來(lái)說(shuō)。如果是直接訪(fǎng)問(wèn)字段,只要執(zhí)行幾條cpu指令就夠了;但如果使用反射,則可能需要執(zhí)行幾百條cpu指令。他們的性能差距很明顯。但是,對(duì)于目前主頻動(dòng)輒幾個(gè)G的cpu來(lái)說(shuō),這幾百條指令是我們不能接受的么?即便用戶(hù)的一次操作會(huì)觸發(fā)成百上千次反射、一共多執(zhí)行數(shù)萬(wàn)條cpu指令,轉(zhuǎn)換成CPU時(shí)間也只是以微秒計(jì)。

反而是網(wǎng)絡(luò)傳輸、磁盤(pán)IO這些影響性能的大頭,也許將這些環(huán)節(jié)的性能提高10%,就會(huì)對(duì)用戶(hù)或者業(yè)務(wù)產(chǎn)生明顯的改善了。



發(fā)件人: 
發(fā)送時(shí)間:
收件人:
主題: 答復(fù): 關(guān)于WebService的性能損失


請(qǐng)架構(gòu)的同事一起評(píng)審一下吧


發(fā)件人:
發(fā)送時(shí)間:
收件人:
主題: 關(guān)于WebService的性能損失


寫(xiě)了個(gè)簡(jiǎn)單的測(cè)試,

訪(fǎng)問(wèn)同一個(gè)數(shù)據(jù)庫(kù)表,訪(fǎng)問(wèn)1500次,一個(gè)直接通過(guò)Odbc訪(fǎng)問(wèn),一個(gè)通過(guò)WebService封裝轉(zhuǎn)發(fā)一遍,

發(fā)現(xiàn)使用WebService后,花費(fèi)的時(shí)間大約是直接訪(fǎng)問(wèn)的3倍左右

測(cè)試的數(shù)據(jù)如下,時(shí)間單位為ms


直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)間:
2718.75
通過(guò)WebService訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)間:
7750


直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)間:
2656.25
通過(guò)WebService訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)間:
7703.125


直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)間:
2750
通過(guò)WebService訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)間:
7656.25
 

鑒于這個(gè)性能損失比較大,ADS訪(fǎng)問(wèn)配置庫(kù)時(shí)還是直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)吧,只是把對(duì)配置庫(kù)的訪(fǎng)問(wèn)放到一個(gè)單獨(dú)的DLL中,避免混到一起就是。

NET技術(shù)Remember: 我們是做產(chǎn)品的,不是搞學(xué)術(shù)研究的 & 用事實(shí)說(shuō)話(huà),不要臆斷,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美性20hd另类| 91精品国产综合久久精品 | 六月丁香深爱六月综合激情 | 亚洲天堂黄 | 亚洲国产激情一区二区三区 | 激情五月婷婷小说 | 日本一二三高清 | 国产精品久久久久久吹潮 | 国产精品网站 夜色 | 精品亚洲综合在线第一区 | 日韩视频第一页 | 97国内免费久久久久久久久久 | 国产精品拍自在线观看 | 无遮挡一级毛片性视频不卡 | 亚洲伊人久久大香线蕉结合 | 337p欧美超大胆日本人术艺术 | 91av国产在线| 日韩成人一级 | 久久久久青草线蕉亚洲麻豆 | 国产极品美女在线 | 51精品视频免费国产专区 | 91精选视频在线观看 | 成人国产欧美精品一区二区 | 国产成人午夜 | 欧美一级特黄aaa大片 | 国产精品亚洲一区二区三区正片 | 黄污视频网站 | 97麻豆精品国产自产在线观看 | 老司机51精品视频在线观看 | 成年美女黄网站色大片软件 | 亚洲乱码在线播放 | 99在线小视频 | 欧美美女视频网站 | 日本加勒比在线播放 | 免费观看四虎精品国产永久 | 国产成人自啪精品视频 | 丁香婷婷色 | 狠狠久久久久久亚洲综合网 | 精品国内一区二区三区免费视频 | 亚洲国产成人精品小蝌蚪 | 成人黄色小视频在线观看 |