一、本文僅簡單從頁面測試結果分析各種架構的效能,並不表示測試結果最好的架構就是最佳的架構,畢竟當中涉及許多方面的因素,也歡迎大家參與討論。
二、本文測試中的所有例子取自《用戶端調用伺服器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional實現之小小比較》,其中只將當中的Anthem.net版本從1.3.2替換為1.4.0版本,對本測試結果有疑問的朋友可以自行到上文提到的文章中下載原始碼進行測試。另外由於測試軟體及對比方式的不同,本文與Dflying Chen 的《用戶端調用伺服器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional實現之小小比較》一文中的測試結果沒有可比性。
三、測試軟體:Fiddler 測試平台:Winxp+IIS5+.NET2.0 瀏覽器:IE7.0正式版 測試次數:三次,其中三次得到的測試資料皆沒有變化。
根據例子測試的資料如下:
1.頁面首次載入時的資料對比: |
資料類型/架構名稱 |
Asp.net Ajax |
Anthem.NET |
Ajax PRO |
Bytes Sent |
547 |
546 |
544 |
Bytes Received |
4,328 |
1,525 |
1630 |
2.按下Get Server Time按鍵並執行服務端方法時的資料對比: |
Bytes Sent |
541 |
715 |
596 |
Bytes Received |
260 |
365 |
278 |
3.其它一些方面的對比: |
頁面產生指令碼總計 |
320,211 |
22,484 |
23,962 |
對ASP.NET的適用性 |
好 |
好 |
普通 |
*Byte Sent:用戶端發送的資料量 Bytes Received:用戶端接收的資料量 以上數值以Bytes為單位。
分析結果:
1.加截頁面時三大架構發送的Bytes基本一樣,但接收的資料量asp.net ajax達到4328bytes,比其它兩個架構大了好幾倍,其中Anthem.net表現最好,僅為1525bytes。
2.當按下頁面Get Server Time按鍵並執行服務端方法的時候,Anthem.Net發送的數量達到715bytes,明顯比其它兩個架構多,而接收資料量也比其它架構多了100bytes,其中表現最好的是asp.net ajax分別為541bytes和260bytes。
3.另外,我將產生的頁面另存新檔檔案之後查看其檔案夾下產生的指令碼,發現最少的是Anthem.net僅為22484,而Asp.net ajax產生的指令碼比其它兩個架構大了十倍以上。
4.從asp.net適用性來看,Asp.net ajax是微軟為Asp.net量身訂造的,使用方便性自然不用多說了,Anthem.net也是針對Asp.net開發的一個架構,使用性方面基本和Asp.net ajax一樣方便甚至一些方面會更好一點(詳細會從下一篇試用手記裡作一個對比),Ajax Pro對ASP.NET適用性方面則稍為遜色。
從以上可以看出,可以看出,Anthem.NET在實現一些簡易功能,比如例子裡的執行服務端方法的綜合效能是最好的,雖然執行服務端的方法所發送及接收的數量都比其它兩個架構要稍多一點,但其它方面卻都比其餘兩個架構要好一些。當然這個結論是針對本文所用到的測試方法,畢竟當中涉及更多方面,比如應用範圍、支援人員、穩定性、流行程度等因素。就個人來說,ASP.NET平台下最專業的開發架構是ASP.NET Ajax,畢竟擁有微軟這個技術巨頭的支援,但Anthem.NET也是除Asp.net ajax以外的一個上上之選,而且作為開源項目也有著更多的擴充性。