Asp.net AJAX效能最佳化測試
Asp.net AJAX提高效能的原則(對web同樣也適用):
- 合并(Composite)-減少請求的次數
- 壓縮(Compression)-減少請求的資料
- 緩衝(Caching)-提高請求響應的效率
所以在最佳化的過程中能合并的就合并,能壓縮的就壓縮,能緩衝的盡量緩衝。
下面就用一個例子說明一下如何對一個asp.net 的頁面進行最佳化,使它啟動並執行效果最佳,當然這隻是很低層面的做法,但很容易,很實用。適合初學者。
下面是本次測試一個頁面
使用了4個控制項+了一些ajaxcontroltoolkit 頁面代碼如下
第一次最糟糕的沒有任何最佳化的前提下
一共有23個請求,沒有用到緩衝,發送16.74KB接收到0.96M資料,花了1.4秒
這是一個非常糟糕的頁面,就算你第二次重新整理,javascript還是不會被緩衝
第二次讓我們來修一下兩個參數,在看一下最好的效果
一共有23個請求,所有指令碼都被緩衝並且壓縮,發送16.74KB接收到17.70資料,花了0.51秒,這次的測試比第一次好了很多,從伺服器返回的資料少了98%,這個效果是非常好的;
第三次我們需要把這些多次請求的javascript合并成一次請求,這樣可以帶來更好的效果,這裡需要下載一個ScriptReferenceProfiler; http://aspnet.codeplex.com/releases/view/13356 然後把它拖拽到你的頁面裡,它就會顯示本頁面請求的javascript-
下面是合并這些JavaScript的代碼
ScriptMode="Release",EnablePartialRendering="False"
AjaxToolkit提供的指令碼分debug和Release, Release的指令碼去掉了對於得字元所以更小
下面是測試結果
一共有9個請求,所有指令碼都被緩衝並且壓縮且合并,發送6.6KB接收到8.21KB資料,花了0.219秒,這次的測試和第一次非法比了;
以上測試希望對大家有所協助,更希望看到大家有更好的最佳化方案。