一区二区久久-一区二区三区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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产麻豆福利a v在线播放 | 怡红院一区二区在线观看 | 久久国产欧美日韩精品免费 | 国产成人精品午夜在线播放 | 四川幻女一级毛片 | 国产九区 | 国产精品免费一区二区三区四区 | 热久久伊人 | 国产精品大全国产精品 | 国产福利二区 | 免费永久在线观看污污的网站 | 怡红院亚洲 | 精品视频自拍 | 精品国产一区二区三区国产馆 | 中文字幕日韩精品麻豆系列 | 午夜福利毛片 | 最新亚洲国产有精品 | 国产视频成人 | se视频在线 | 亚洲aaaa级特黄毛片 | 色婷婷激婷婷深爱五月小说 | 国产精品91av | 国产在线一区二区三区 | 日本欧美国产精品第一页久久 | 国产精品福利午夜一级毛片 | 亚洲国产99999在线精品一区 | 午夜欧美性视频在线播放 | 亚洲香蕉久久一区二区三区四区 | 美女色网| 国产精品二区三区 | 国产不卡一区二区三区免费视 | 加勒比综合网 | 色网站视频 | 一区二区日韩 | 91精品国产丝袜高跟鞋 | 亚洲天堂网站 | 狠狠亚洲 | 一本色道久久综合亚洲精品 | 欧美精品激情 | 91麻豆精品国产片在线观看 | 五月天婷婷精品视频 |