国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

總結:今天在MSN Group里面和一些朋友談ASP.net程序的性能優化

2019-11-18 16:53:20
字體:
來源:轉載
供稿:網友

今天在MSN Group里面和一些朋友談asp.net程序的性能優化。
現在來總結一下優化的手段:
1.數據庫優化,包括表結構優化、索引優化、SQL語句優化、存儲過程優化
2.優化ViewState
3.使用緩存
4.生成靜態頁面(主要針對交互性不是很強的信息發布系統前端)
5.使用前置的IIS/Apache來處理對靜態頁面、圖片、js文件的請求
6.優化算法
7.歡迎大家補充

對于性能調優,幾乎所有專家的建議都是:如果沒有確切的性能測量,就不要進行性能調優。沒有基準性能測試的調優基本上除了讓系統的代碼變的亂七八糟之外不會有其他好處,你費盡心思把一個算法從0.1秒提高到0.01秒得到的效果往往會被一個糟糕的select語句徹底淹沒。

所以,前面的幾種手段不是萬靈藥,要調優,首先要了解系統慢在哪兒。千萬不能病急亂投醫。下面的內容來自我個人的工作經驗,不是所有系統都可以套用的,切記切記!?。?!
下面我們來分析一下這四種調優手段:

對于OA/業務管理系統類型應用來說,數據庫優化往往是關鍵點,原因有幾點:
1.對數據庫的CRUD是最這些系統最常見的操作。
2.對數據庫系統的操作往往會引起磁盤I/O(因為數據庫文件和日志都是保存在磁盤的)
3.應用對數據庫系統的操作往往是跨進程的甚至跨機器的。(磁盤I/O+網絡I/O,CPU再快內存再多都鞭長莫及了吧)
所以這些對數據庫的操作往往是整個系統的性能瓶頸。

那么,知道了這個大方向,如何知道到底是那些SQL或者存儲過程慢呢?這個就需要結合數據庫的PRofiler

對于SQL Server可以看看這篇文章
http://www.microsoft.com/china/msdn/library/data/sqlserver/Profiler.mspx?mfr=true


對于Oracle可以看看這篇文章
http://www.javaeye.com/post/117389

2,ViewState,這個咚咚體積比較大,對于internet應用來說,會有一定的影響。關于對它的優化,園子里面已經有的講了,大家自己搜索一下吧。

3.使用緩存
這個我的看法和MSN Group里面的幾個朋友不是很一致。MSN Group里面有個朋友認為緩存可以是一組靜態變量,或者是一個緩存控制器控制的一些變量。我個人認為,這樣的緩存在單服務器環境下也許有不錯的性能,在多服務器環境下,這樣的緩存反而會成為性能瓶頸,因為應用程序或者緩存控制器需要小心的保證多個進程的緩存內容一致。這個過程使得程序的可伸縮性大大降低??紤]一下100臺服務器的Web Farm,一個進程中的緩存修改,需要通知并且確認剩下99個服務器都正確的更改了,這是一件多么可怕的事情。
對于這塊,memcache是一個比較不錯的解決方案,著名的wiki產品mediawiki就使用了它來做緩存服務器。memcache也有.net的client api。

4.不是很了解,請高手補充

5.網上很多介紹了,尤其是java那邊,apache搭配tomcat有很多介紹。自己google下咯。

6.這個優化最復雜,效果也許最不明顯,如果你一定要做,那就八仙過海,各顯神通吧。

http://www.survivalescaperooms.com/ncindy/archive/2006/11/07/553533.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙山县| 长乐市| 广平县| 长宁县| 肃南| 灌阳县| 贵港市| 河北区| 靖安县| 台东县| 鄂托克前旗| 竹山县| 加查县| 楚雄市| 凉山| 阳东县| 石台县| 桂平市| 安达市| 锡林浩特市| 盐城市| 双牌县| 隆回县| 霍林郭勒市| 甘孜县| 恩施市| 岫岩| 临澧县| 栾川县| 英德市| 沂源县| 盈江县| 华亭县| 昭觉县| 合肥市| 视频| 成安县| 佛学| 吉安市| 荣昌县| 屏山县|