成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

優化DotNetNuke網站性能的10個技巧

開發 后端
隨著越來越多的人開始應用DNN,被問到最多的一個問題就是如何提高DNN的運行速度?默認的DNN配置并不是最優化的配置,在這里就和大家分享一下優化DNN的技巧。

以下的這些配置是目前為止我所發現的最佳基準配置,依據不同的主機運行環境,更新頻率,訪問量,以及用戶數量,網站的優化配置會有些不同。經過優化的DNN也是可以運行得很快的。
以下我將使用DNN5.01中文版示范,這些技巧同樣適用于DNN4.x。

1. 主機管理 -> 主機設置中的基本優化

首先我們來優化主機設置,我僅在這里指出關鍵的設置

外觀

“顯示版權信息”:禁用此項

◆高級設置 -> 身份驗證設置 (只適用于DNN4.x,DNN5設置方法見下) 禁用不需要的身份驗證方式, 通常我會禁用LiveID和OpenId以增加用戶登陸的速度

◆高級設置 -> 性能設置

◆網頁狀態保存方式:“頁面”,這里是指viewstate的存儲方式

◆模塊緩存方式:“重量級緩存”,這里使用的是頁面輸出緩存

◆客戶端緩存:“Public”,這樣瀏覽器就會緩存js,css,圖片這些資源文件

◆壓縮設置:“GZip方式壓縮”,注意這里只是Gzip壓縮只是壓縮aspx動態頁面,javascript, css等資源文件請在IIS中設置壓縮。壓縮后頁面大小一般會減少60%以上,速度提高也節省帶寬。

◆高級設置 -> 其它設置

◆任務調度模式: “計時器模式”,HTTP請求模式對訪問率低的網站會造成初次訪問加載過重的現象。啟用事件記錄緩存? :選中此項。是否自動同步文件? :禁用此項

2. 卸載不需要的模塊和Provider

卸載不需要的模塊可以提高加載網站的速度,卸載模塊后模塊對應的程序集(dll)也會從bin文件夾中移除,這樣會減少初次讀取網站時加載程序集到內存的數量,以提高網站讀取速度。DNN安裝向導中默認模式只會安裝基本的模塊和Provider, 但如果安裝時選擇了全部模塊及Provider請按以下方式卸載, 當需要時再安裝。

DNN4.x :“主機管理 -> 模塊定義” 中刪除不需要的模塊

DNN5.x :“主機管理 -> 功能擴展” 中刪除不需要的擴展,例如不需要論壇時就不要安裝,網站不提供OpenId驗證方式就卸載掉。

3. 禁用不需要的身份驗證方式

此設置只適用于DNN5, 在DNN5中如果安裝了多種身份驗證方式,例如OpenID, LiveID, Active Directory在站點管理中可以針對不同的站點關閉開啟需要的驗證方式,這點比DNN4.x要靈活。在這里我們要禁用不需要的身份驗證方式已提升登陸頁面速度。 在“站點管理 -> 功能擴展中”選擇擴展類型“Authentication System(身份驗證系統)”然后編輯不需要的身份驗證系統并禁用,通常我會只開啟Default Authentication(默認的DNN驗證方式),禁用:

DNN_OpenIDAuthentication

DNN_LiveIDAuthentication

DotNetNuke Active Directory Authentication Project

4. 調度管理的設置

在“主機設置 -> 調度管理中”根據需要延長或關閉不需要的調度任務,以防止頻繁執行調度任務增加服務器壓力。

如果網站不提供站內搜索,則禁用DotNetNuke.Services.Search.SearchEngineScheduler

如果網站提供站內搜索,則把DotNetNuke.Services.Search.SearchEngineScheduler任務頻率設置為1天重試頻率設為12小時,這將會極大的減緩服務器壓力。

同樣把DotNetNuke.Services.Scheduling.PurgeScheduleHistory任務頻率設置為1天

以上1-4就是最基本的通過網站配置實現的優化,總的來說以上的改變會帶來顯著的性能提升,但大多時間仍然不能足夠的保正網站平滑的運行,因此依據不同情況我會進行以下的優化。

5. 定期清除事件記錄

很多用過DotNetNuke的朋友會發現數據庫中[EventLog] 表(記錄站點“事件記錄”的表)可能會成為導致性能下降的罪魁禍首因為DNN網站中的很多操作都會被記錄到事件記錄(EventLog)中, 開啟事件記錄緩存會減緩尺寸過大的[EventLog]表對網站帶來的副作用,但是最佳的優化方法莫過于定期清除“事件記錄”。 方法有很多種

如果只有一個站點,用主機管理員(host)帳號登陸在站“點管理 -> 事件記錄”中選擇清除所有記錄。如果有很多站點一個一個清除很麻煩,直接到 “主機管理 -> SQL查詢” 里運行 "TRUNCATE TABLE eventlog" 則可一次清除[eventlog]的所有記錄。如果對數據庫有管理權限則可設置數據庫調度任務定期自動執行"TRUNCATE TABLE eventlog"

另外也可以使用Scheduled SQL Jobs這個免費模塊來定期清空事件記錄

請記住,我們必須保持“事件記錄” (eventlog表)的記錄數在一個很小的范圍內,這樣才能保證網站的運行效率,很多國外收費很貴的DNN專用主機空間所作的主要優化就是定期清除事件記錄。當然在“站點管理 -> 事件記錄 -> 編輯記錄設置" 中關閉不需要的記錄,例如APPLICATION_START, APPLICATION_END也是個不錯的方法。

6. 皮膚優化

皮膚優化也是很重要的,購買或制作皮膚時一定要選用支持XHTML的使用DIV+CSS制作的皮膚,這會增加網頁讀取的流暢度,css也可以被瀏覽器緩存也可以增加頁面讀取速度。 另外選擇一個支持CSS的菜單控件,例如House Menu皮膚控件來替換默認的皮膚控件可以減少頁面尺寸30%甚至更多。優化后的皮膚可令頁面讀取速度減少50%以上。

另外關于客戶端優化Yahoo的網站優化最佳實踐是個很好的指南,我們也可以下載Firefox中的YSlow插件來查看優化的效果。

7. 防止網站重新加載編譯

很多人對DNN速度慢的印象大多來自于初次訪問速度過慢,這其實是因為Asp.Net網站初次加載到程序池需要進行動態編譯導致感覺速度很慢,其實加載之后速度就會很快了。 另外對于訪問量不多的網站, 網站在靜止一段時間后會被從程序池中踢出,當有用戶訪問時網站會重新加載編譯,所以對于訪問量少的網站用戶總是覺得網站很慢。 解決這個問題的關鍵是保持網站在程序池中活躍,以防網站重新加載。這方面的工具不少,原理一般就是定時ping網站保持網站活躍。

我比較推薦的是一個免費工具Smarter Ping 之前有個客戶的網站訪問量很小導致每次訪問網站都會重新加載,一般要等2,30秒,在使用了Smarter Ping之后每次都是一下就打開了不超過2秒。 Smart Ping是一個Windows Service它會定時ping你預設的網站,這里建議時間間隔設為10分鐘一次,另外DNN也有提供一個專門響應這類工具的網頁在網站根目錄下”KeepAlive.aspx“ 添加要ping的網址時則可設為http://www.mydnn.com/KeepAlive.aspx

8. DNN優化模塊

在這里不得不提Snapsis PageBlaster這個優化模塊,它可以提供全方位的優化,例如頁面壓縮, 緩存, 合并靜態文件減少http請求... 大大提升頁面讀取速度。如果前面優化效果不理想可以試試這個模塊。

9. 服務器優化建議

在不同運行環境下的優化配置

云平臺:類似于Mosso這種云服務平臺也是可以支持DNN的,但是在這種環境下模塊緩存到內存是不工作的,所以在主機設置里我們要把“模塊緩存方式”設為硬盤,這樣會提升20-30%的性能。其它的設置基于以上優化不用變動。

共享主機:共享主機中"模塊緩存方式"設置為內存沒什么問題,因為內存比磁盤要快很多,但是對于很繁忙的Web服務器,例如存放上百個網站的Web服務器使用共享的應用程序池,每個網站分配到的內存可能都會很少,這種情況下緩存到內存的命中率會很低,大部分時間會從服務器重新請求,這時設置“模塊緩存方式設”為硬盤的效果會好些。

虛擬主機:情況和共享主機類似,“模塊緩存方式”默認設置為內存,根據具體情況如果網站很多覺得速度慢改為硬盤試試看。

對于在本地測試使用debug模式在Visual Studio中運行的朋友,不要期待在這種環境下速度會很快,這種模式下運行DNN這種大型網站會很吃力,在IIS中設置網站速度會提高不少。

10. 修復反復發生的錯誤

反復發生的錯誤異常是所有網站的性能殺手, 每當有不能處理的異常拋出都會對.net的進程造成一些影響,并且DNN系統會捕捉并記錄異常到數據庫的[EventLog]表,對于高訪問量的網站這種代價是很難承受的。經常查看“站點管理 -> 事件記錄”確定沒有反復發生的錯誤是保證網站正常工作的前提。 如果發現此類異常要及早處理, 異常可能是由第三方模塊造成,也可能是系統本身的bug,對于不熟悉.Net除錯和DotNetNuke系統的朋友,可能會比較麻煩,這時最好利用社區的幫助或者咨詢專業公司。

總結

以上就是我優化DotNetNuke網站性能的一些經驗, 希望有自己獨門優化秘籍的朋友也來和大家分享分享,讓DNN運行速度越來越快!!

 

責任編輯:彭凡 來源: cnblogs
相關推薦

2022-02-25 23:46:54

JavaScript網站開發

2022-10-09 13:36:44

接口性能優化

2024-01-22 13:16:00

接口性能優化本地緩存

2020-03-25 08:00:32

Kubernetes節點工作

2024-06-21 08:21:44

2011-05-10 17:06:05

SEO

2011-06-29 17:08:51

網站優化

2019-08-21 10:53:29

.NET性能優化

2024-08-26 11:50:08

2023-02-07 08:00:00

MySQL數據庫技巧

2011-07-07 18:39:22

SEO

2018-02-23 13:55:16

ASP.NET性能優化技巧

2021-11-18 08:20:22

接口索引SQL

2013-09-26 10:39:35

Windows 7優化技巧

2009-06-16 16:39:49

Hibernate性能

2024-12-02 14:28:17

JavaScriptWeb開發

2011-04-28 16:55:07

電子商務網站設計網站

2011-06-14 10:35:15

性能優化

2017-02-05 17:33:59

前端優化Web性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品欧美一区二区 | 性欧美xxxx| 久久久久久免费精品一区二区三区 | 在线视频一区二区三区 | 91麻豆精品一区二区三区 | 伦理午夜电影免费观看 | 欧美日韩国产中文 | 成人在线视频免费观看 | 成人久久18免费网站图片 | 成人在线国产 | 欧美视频在线播放 | 国产精品毛片无码 | 日日天天 | 久久久精品亚洲 | 在线观看亚洲专区 | 黄色免费网站在线看 | 一区二区三区国产 | 久久精品—区二区三区 | 精品国产乱码久久久久久牛牛 | 国产精品久久久久久久久久东京 | 欧美高清dvd | av一级在线观看 | 亚洲色片网站 | 久久亚洲欧美日韩精品专区 | 国产精品久久午夜夜伦鲁鲁 | 伦理一区二区 | 国产精品夜夜夜一区二区三区尤 | 天天天天操 | 日韩伦理一区二区三区 | 一区视频在线 | 欧美一区免费 | 免费中文字幕 | 亚洲三区在线观看 | 国产激情 | 欧美偷偷操 | 作爱视频免费观看 | 久久久毛片| 亚洲精品在线视频 | 国产一区二区av | 中文字幕一区二区三区不卡 | 成人免费看黄网站在线观看 |