亚洲天堂一级片-亚洲天堂三区-亚洲天堂久久精品成人-亚洲天堂毛片-久久国产欧美日韩高清专区-久久国产欧美日韩精品免费

北京北大青鳥學�?偨Y:ASP.NET中優化性能的方法(四)

接上篇,文章由北京北大青鳥學校學術部老師提供:

相關文章:ASP.NET中優化性能的方法(三)

16. 適當地使用公共語言運行庫的垃圾回收器和自動內存管理  
北京北大青鳥學校提示:不要給每個請求分配過多內存,因為這樣垃圾回收器將必須更頻繁地進行更多的工作。另外,不要讓不必要的指針指向對象,因為它們將使對象保持活動狀態,并且應盡量避免含 Finalize 方法的對象,因為它們在后面會導致更多的工作。特別是在 Finalize 調用中永遠不要釋放資源,因為資源在被垃圾回收器回收之前可能一直消耗著內存。最后這個問題經常會對 Web 服務器環境的性能造成毀滅性的打擊,因為在等待 Finalize 運行時,很容易耗盡某個特定的資源。   

17. 如果有大型 Web 應用程序,可考慮執行預批編譯  
每當發生對目錄的第一次請求時都會執行批編譯。如果目錄中的頁面沒有被分析并編譯,此功能會成批分析并編譯目錄中的所有頁面,以便更好地利用磁盤和內存。如果這需要很長時間,則將快速分析并編譯單個頁面,以便請求能被處理。此功能帶給 ASP.NET 性能上的好處,因為它將許多頁面編譯為單個程序集。從已加載的程序集訪問一頁比每頁加載新的程序集要快。批編譯的缺點在于:如果服務器接收到許多對尚未編譯的頁面的請求,那么當 Web 服務器分析并編譯它們時,性能可能較差。

為解決這個問題,北京北大青鳥學校的建議是,可以執行預批編譯。為此,只需在應用程序激活之前向它請求一個頁面,無論哪頁均可。然后,當用戶首次訪問您的站點時,頁面及其程序集將已被編譯。沒有簡單的機制可以知道批編譯何時發生。需一直等到 CPU 空閑或者沒有更多的編譯器進程(例如 csc.exe(C# 編譯器)或 vbc.exe(Visual Basic 編譯器))啟動。

還應盡量避免更改應用程序的 bin 目錄中的程序集。更改頁面會導致重新分析和編譯該頁,而替換 bin 目錄中的程序集則會導致完全重新批編譯該目錄。在包含許多頁面的大規模站點上,更好的辦法可能是根據計劃替換頁面或程序集的頻繁程度來設計不同的目錄結構。不常更改的頁面可以存儲在同一目錄中并在特定的時間進行預批編譯。經常更改的頁面應在它們自己的目錄中(每個目錄最多幾百頁)以便快速編譯。Web 應用程序可以包含許多子目錄。批編譯發生在目錄級,而不是應用程序級。(北京北大青鳥學校)

18. 不要依賴代碼中的異常  

因為異常大大地降低性能,所以不應該將它們用作控制正常程序流程的方式。如果有可能檢測到代碼中可能導致異常的狀態,請執行這種操作。不要在處理該狀態之前捕獲異常本身。常見的方案包括:檢查 null,分配給將分析為數字值的 String 一個值,或在應用數學運算前檢查特定值。下面的示例演示可能導致異常的代碼以及測試是否存在某種狀態的代碼。兩者產生相同的結果。
try   {   result = 100 / num;   }   catch (Exception e)   {   result = 0;   }   // ...to this.   if (num != 0)   result = 100 / num;   else   result = 0;
北京北大青鳥學校,未完待續)

北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 国产精品亚洲欧美日韩一区在线 | 国产精品高清久久久久久久 | 亚洲欧美日韩在线一区二区三区 | 国产色视频在线观看免费 | 亚洲一区二区三区久久久久 | 欧美一级艳片视频免费观看 | 中国黄色网址大全 | 日本不卡不码高清免费观看 | 日韩字幕| 国产精品视频免费一区二区三区 | 亚欧成人毛片一区二区三区四区 | 国产亚洲欧美在线播放网站 | 美国一级毛片免费看 | 香蕉久久综合精品首页 | 久久免费高清视频 | 久久精彩视频 | 亚洲在线免费观看视频 | 一级毛片真人免费播放视频 | 久久亚洲国产高清 | 欧美一级在线毛片免费观看 | 波多野结衣中文无毒不卡 | 精品国产一区二区三区不卡蜜臂 | 美国全免费特一级毛片 | 欧美特黄三级成人 | 欧美成人免费观看国产 | 亚洲国产精品成人精品软件 | 美女福利视频国产片 | 国产呦精品系列在线 | 艹美女视频 | 亚洲品质自拍视频网站 | 国产大尺度福利视频在线观看 | 久久精品国产这里是免费 | 成年人看的黄色片 | 国产成人精品亚洲日本语音 | 日韩亚洲一区二区三区 | 日韩欧美在线视频一区二区 | 女初高中福利视频在线观看 | 久久久国产一区二区三区丝袜 | 日本一级毛片片在线播放 | 欧美三级不卡在线观看视频 | 美女张开腿让男人桶爽免 |