<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 241,  comments - 116,  trackbacks - 0

    現在各種MVC框架很多,各框架的優缺點網絡上也有很多的參考文章,但介紹各框架性能方 面差別的文章卻不多,本人在項目開發中,感覺到采用了struts2框架的項目訪問速度,明顯不如原來采用了struts1框架的項目快,帶著這些疑惑, 我對各類MVC框架的做了一個簡單的性能分析比較,其結果應該說是基本符合預期的,可供大家參考。

    測試環境:CPU:酷睿2 T5750,內存:DDR2-667 2G,Web容器:Tomcat6.0,最大線程數設置為1000,操作系統:WinXP-sp32011大智慧下載

    測試步驟:搭建6個Web工程,如下:

    1.純JSP:不包含任何MVC框架,只有一個測試用的JSP頁面。

    2.struts1:包含一個Action,不做任何邏輯處理,直接轉發到一個JSP頁面

    3.struts2 JSP:不包含Action,只包含測試JSP頁面,直接訪問該頁面。

    4.struts2 單例Action:采用Spring來管理Struts2的Action實例,并配置成單例模式。

    5.struts2 多例Action:采用Spring來管理Struts2的Action實例,并配置成單例模式。

    6.SpringMVC3:采用Spring來管理Controller實例,包含一個Controller,不做邏輯處理,收到請求后,直接返回到一個JSP頁面。

    測試結果:

    測試工程

    請求數

    并發數

    總時間(s)

    總時間(s)

    總時間(s)

    平均值(s)

    Requests Per Second(每秒處理請求數)

    JSP

    2000

    200

    5.55

    3.59

    4.11

    4.42

    452.83

    struts1

    2000

    200

    6.77

    3.83

    7.00

    5.86

    341.03

    struts2 JSP

    2000

    200

    25.20

    26.30

    24.11

    25.20

    79.35

    struts2 單例Action

    2000

    200

    28.36

    27.59

    27.69

    27.88

    71.74

    struts2 多例Action

    2000

    200

    31.31

    31.97

    39.56

    34.28

    58.34

    SpringMVC3

    2000

    200

    7.16

    7.50

    4.27

    6.31

    317.09

    說明:以上測試雖不是非常的精確,但基本能說明一定的問題。每個JSP頁面和Action都不包含任何的業務邏輯代碼,只是請求轉發。每輪測試取三次總時間的平均值。所有工程的測試均全部完成并正常處理請求,沒有請求拒絕情況發生。

    結論:

    1.純JSP的性能應該最高,這不難理解,JSP被編譯成Servlet后,沒有任何多余的功能,收到請求后直接處理。(這也驗證一句經典的話:越原始效率就越高。)債務追討

    2.struts1的性能是僅次于純JSP的,由于struts1采用單例Action模式,且本身的封裝相比struts2應該說簡單很多,雖然開發效率不如struts2,但已經過多年的實踐考驗,性能穩定高效。

    3.相比來說struts2的性能就比較差了,這不難理解,struts2之所以開發方便,是由于采用值棧、OGNL表達式、攔截器等技術對請求參 數的映射和返回結果進行了處理,另外還采用大量的標簽庫等,這些都無疑增加了處理的時間。因此降低了效率。在我們實際的項目中,我測試本地工程訪問每秒處 理請求數只能達到35左右,應該說還有不少可優化的空間。

    4.很多人認為struts2性能差是因為它的多例Action模式導致的,但我們采用spring管理struts2的Action,并設置按單 例方式生成Action實例后,發現其性能有所提高,但并不是很明顯。由此可見,多例Action模式并不是struts2性能瓶頸所在。另外,我們在 struts2中采用JSP方式訪問,發現其性能依舊和沒有采用任何MVC框架的純JSP之間存在好幾倍的差距,這又從另一個側面證實了我們剛才得出結 論,struts2性能的瓶頸不在于它的多例Action模式。       

    5.SpringMVC3的性能略遜于struts1,但基本是同級別的,這讓人眼前一亮,springMVC有著不比struts2差的開發效率 和解耦度,但性能卻是struts2的好幾倍,這讓我們灰常振奮,SpringMVC無疑又是項目開發的一個好的選擇。唯一的問題就是,目前國內使用面還 不太多,各方面的參考資料相對較少,上手的話可能要稍微難點。

    posted on 2011-05-03 09:40 墻頭草 閱讀(594) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    人人游戲網 軟件開發網 貨運專家
    主站蜘蛛池模板: 亚洲欧洲国产经精品香蕉网| 在线观看免费污视频| 中文字幕免费在线观看动作大片| 亚洲精品无码成人片久久不卡| 久久久久se色偷偷亚洲精品av | 四虎在线最新永久免费| 免费A级毛片无码A∨中文字幕下载| 久久精品乱子伦免费| 国产免费AV片在线观看| 无码日韩精品一区二区免费暖暖 | 亚洲欧美日韩综合俺去了| 亚洲人成人网站18禁| 国产精品亚洲AV三区| 无遮挡a级毛片免费看| 国产精品小视频免费无限app | 中国亚洲呦女专区| 亚洲熟妇AV日韩熟妇在线| 亚洲国产AV无码一区二区三区| 亚洲av色香蕉一区二区三区蜜桃| 狠狠综合亚洲综合亚洲色| 一级做a爰片久久免费| 黄色片免费在线观看| 67pao强力打造高清免费| 成人A级毛片免费观看AV网站| 成人性生交大片免费看午夜a| 日本牲交大片免费观看| 亚洲毛片av日韩av无码| 久久精品亚洲综合一品| 亚洲一区二区三区不卡在线播放| 亚洲成熟丰满熟妇高潮XXXXX| 一级特级aaaa毛片免费观看 | 亚洲色大成网站WWW国产| 边摸边脱吃奶边高潮视频免费| 男女一边摸一边做爽的免费视频 | 国产精品亚洲专区一区| www成人免费视频| 1000部羞羞禁止免费观看视频 | 久久aa毛片免费播放嗯啊| 男人的好看免费观看在线视频| 免费成人av电影| 久久久久亚洲AV无码网站|