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

服務(wù)器端編程的十大性能問題

  今年5月底,瑞士計(jì)算機(jī)世界雜志刊登了Web性能診斷專家Bernd Greifeneder的一篇文章,文章列舉了其在過去幾年工作中所遇到的服務(wù)器端編程的十大性能問題。Andreas Grabner則在自己的博客上對(duì)這些性能問題給出了進(jìn)一步閱讀的鏈接。希望這些問題與相關(guān)的延伸閱讀能為廣大的InfoQ讀者帶來一定的啟示。

  問題一:過多的數(shù)據(jù)庫調(diào)用

  我們發(fā)現(xiàn)經(jīng)常出現(xiàn)的一個(gè)問題就是在每次請(qǐng)求/事務(wù)中存在過多的數(shù)據(jù)庫查詢。有如下三個(gè)場(chǎng)景作為佐證:

  • 在一次事務(wù)上下文中所請(qǐng)求的數(shù)據(jù)比實(shí)際需要的數(shù)據(jù)多出很多。比如說:請(qǐng)求所有的賬戶信息而不是僅僅查詢出當(dāng)前需要顯示的信息。
  • 多次請(qǐng)求同樣的數(shù)據(jù)。這種情況通常發(fā)生在相同事務(wù)中的不同組件之間是彼此獨(dú)立的,而每個(gè)組件都會(huì)請(qǐng)求同樣的數(shù)據(jù)。我們并不清楚當(dāng)前上下文中已經(jīng)加載了哪些數(shù)據(jù),最后只得多次發(fā)出同樣的查詢。
  • 發(fā)出多個(gè)查詢語句以獲得某一數(shù)據(jù)集。通常這是由于沒有充分利用到復(fù)雜的SQL語句、存儲(chǔ)過程等在一次批處理中獲取需要的數(shù)據(jù)所導(dǎo)致的。

  延伸閱讀:Blog on Linq2Sql Performance Issues on DatabaseVideo on Performance Anti-Patterns

  

  問題二:過多地使用同步

  毫無疑問,同步對(duì)于應(yīng)用中共享數(shù)據(jù)的保護(hù)來說是至關(guān)重要的舉措。但有很多開發(fā)者卻過度使用同步,比如在超大段的代碼中使用同步。在低負(fù)載的情況下,這么做倒沒什么問題;但在高負(fù)載或是產(chǎn)品環(huán)境下,過度的同步會(huì)導(dǎo)致嚴(yán)重的性能與可伸縮性問題。

  延伸閱讀: How to identify synchronization problems under load


  問題三:過度使用遠(yuǎn)程調(diào)用

  很多庫都使用了遠(yuǎn)程通信。對(duì)于開發(fā)者來說,遠(yuǎn)程調(diào)用與本地調(diào)用似乎沒什么區(qū)別,但如果不清楚遠(yuǎn)程調(diào)用的本質(zhì)就會(huì)鑄成大錯(cuò),因?yàn)槊恳淮芜h(yuǎn)程調(diào)用都會(huì)涉及到延遲、序列化、網(wǎng)絡(luò)堵塞以及內(nèi)存使用等問題。如果沒有經(jīng)過深思熟慮而盲目使用這些遠(yuǎn)程技術(shù)就會(huì)導(dǎo)致嚴(yán)重的性能與可伸縮性問題。

  延伸閱讀: Performance Considerations in Distributed Applications


  問題四:錯(cuò)誤地使用對(duì)象關(guān)系映射

  對(duì)象關(guān)系映射為開發(fā)者解決了很多負(fù)擔(dān),比如從數(shù)據(jù)庫中加載對(duì)象以及將對(duì)象持久化到數(shù)據(jù)庫中。但與其他任何框架一樣,對(duì)象關(guān)系映射也有很多配置選項(xiàng)需要優(yōu)化,只有這樣才能適應(yīng)于當(dāng)前應(yīng)用的需要。錯(cuò)誤的配置與不正確的使用都會(huì)導(dǎo)致始料不及的性能問題。在使用對(duì)象關(guān)系映射框架前,請(qǐng)務(wù)必保證熟悉所有的配置,如果有機(jī)會(huì),請(qǐng)深入到所用框架的內(nèi)核,這樣使用起來才有保障。

  延伸閱讀:Understanding Hibernate Session CacheUnderstanding the Query CacheUnderstanding the Second Level Cache


  問題五:內(nèi)存泄漏

  托管的運(yùn)行時(shí)環(huán)境(如Java和.NET)可以通過垃圾收集器進(jìn)行內(nèi)存管理。但垃圾收集器無法避免內(nèi)存泄漏問題。“被遺忘”的對(duì)象依舊會(huì)占據(jù)著內(nèi)存,最終將會(huì)導(dǎo)致內(nèi)存泄漏問題。當(dāng)對(duì)象不再需要時(shí),請(qǐng)盡快釋放掉對(duì)象引用。

  延伸閱讀:Understanding and finding Memory Leaks


  問題六:使用有問題的第三方代碼/組件

  沒有人會(huì)從頭編寫應(yīng)用的全部功能。我們都會(huì)使用第三方程序庫來加快開發(fā)進(jìn)程。這么做不僅會(huì)加速產(chǎn)出,也增加了性能上的風(fēng)險(xiǎn)。雖然大多數(shù)框架都具有良好的文檔并且經(jīng)過了充分的測(cè)試,但沒人能夠保證這些框架在任何時(shí)候都會(huì)像預(yù)期的那樣好。因此,在使用這些第三方框架時(shí),事先一定要做好充分的調(diào)研。

  延伸閱讀: Top SharePoint Performance Mistakes


  問題七:對(duì)稀缺資源的使用存在浪費(fèi)的情況

  內(nèi)存、CPU、I/O以及數(shù)據(jù)庫等資源屬于稀缺資源。在使用這些資源時(shí)如果存在浪費(fèi)的情況就會(huì)造成嚴(yán)重的性能與可伸縮性問題。比如說,有人會(huì)長時(shí)間打開數(shù)據(jù)庫連接而不關(guān)閉。連接應(yīng)該只在需要的時(shí)候才使用,使用完畢后就應(yīng)該放回到連接池中。我們經(jīng)常看到有人在請(qǐng)求一開始就去獲取連接,直到最后才釋放,這么做會(huì)導(dǎo)致性能瓶頸。

  延伸閱讀: Resource Leak detection in .NET Applications


  問題八:膨脹的Web前端

  由于現(xiàn)在的Web速度越來越快,用戶的網(wǎng)絡(luò)體驗(yàn)也越來越好。在這個(gè)趨勢(shì)下,很多應(yīng)用的前端都提供了太多的內(nèi)容,但這么做會(huì)導(dǎo)致差勁的瀏覽體驗(yàn)。很多圖片都太大了,沒有利用好或是錯(cuò)誤地使用了瀏覽器緩存、過度地使用JavaScript/AJAX等,所有這一切都會(huì)導(dǎo)致瀏覽器的性能問題。

  延伸閱讀: How Better Caching would help speed up Frankfurt Airport Web SiteBest Practices on Web Performance Optimization


  問題九:錯(cuò)誤的緩存策略導(dǎo)致過度的垃圾收集

  將對(duì)象緩存在內(nèi)存中可以避免每次都向數(shù)據(jù)庫發(fā)出請(qǐng)求,這么做可以提升性能。但如果緩存了太多的對(duì)象,或是緩存了很多不常使用的對(duì)象則會(huì)將緩存的這種優(yōu)勢(shì)變成劣勢(shì),因?yàn)檫@會(huì)導(dǎo)致過高的內(nèi)存使用率及過多的垃圾收集活動(dòng)。在實(shí)現(xiàn)緩存策略前,請(qǐng)想好哪些對(duì)象需要緩存,哪些對(duì)象不需要緩存,進(jìn)而避免這類性能與可伸縮性問題。

  延伸閱讀:Java Memory ProblemsIdentify GC Bottlenecks in Distributed Applications


  問題十:間歇性問題

  間歇性問題很難發(fā)現(xiàn)。通常這類問題與特定的輸入?yún)?shù)有關(guān),或是發(fā)生在某個(gè)負(fù)載條件下。完全的測(cè)試覆蓋率及負(fù)載與性能測(cè)試能在這些問題產(chǎn)生前就發(fā)現(xiàn)他們。

  延伸閱讀:Tracing Intermittent Errors by Lucy Monahan from NovellHow to find invisible performance problems

it知識(shí)庫服務(wù)器端編程的十大性能問題,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 91免费版视频 | 色噜噜狠狠一区二区三区 | 9191在线精品播放 | 久久精品国产屋 | 99精品视频在线成人精彩视频 | 亚洲国产香蕉视频欧美 | 国产成人禁片在线观看 | 午夜大片免费完整在线看 | 福利精品一区 | 国产精品视频一区二区三区w | 国产一区高清 | 国产码一区二区三区 | 精品久久久久久久久中文字幕 | 一区二区手机视频 | 污视频免费在线播放 | 国产91精品一区二区麻豆亚洲 | 黄大色大片免费久久 | 日韩精品一区二区三区乱码 | 一区视频在线播放 | 日韩经典欧美精品一区 | 四虎国产精品永久在线播放 | 久热国产在线视频 | 亚洲第一页国产 | 亚洲国产一区二区在线 | 色久视频| 免费精品一区二区三区在线观看 | 91视频网页版 | 欧美性与交视频在线观看 | 亚洲图片一区 | 成人十八影院在线观看 | 四虎影视国产永久免费 | 激情小视频在线观看 | 热99在线视频 | 国产精品亚洲一区二区三区 | 狠狠色丁香婷婷久久综合不卡 | 91麻豆精品国产自产在线观看一区 | 国产高清美女一级a毛片久久 | 国产午夜毛片 | 无遮挡一级毛片性视频不卡 | 婷婷色视频 | 9797在线看片亚洲精品 |