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

Java MVC框架性能比較

開(kāi)發(fā) 后端
本篇文章對(duì)各類MVC框架的做了一個(gè)簡(jiǎn)單的性能分析比較,其結(jié)果應(yīng)該說(shuō)是基本符合預(yù)期的,可供大家參考。

  現(xiàn)在各種MVC框架很多,各框架的優(yōu)缺點(diǎn)網(wǎng)絡(luò)上也有很多的參考文章,但介紹各框架性能方面差別的文章卻不多,本人在項(xiàng)目開(kāi)發(fā)中,感覺(jué)到采用了struts2框架的項(xiàng)目訪問(wèn)速度,明顯不如原來(lái)采用了struts1框架的項(xiàng)目快,帶著這些疑惑,我對(duì)各類MVC框架的做了一個(gè)簡(jiǎn)單的性能分析比較,其結(jié)果應(yīng)該說(shuō)是基本符合預(yù)期的,可供大家參考。

  測(cè)試環(huán)境:CPU:酷睿2 T5750,內(nèi)存:DDR2-667 2G,Web容器:Tomcat6.0,***線程數(shù)設(shè)置為1000,操作系統(tǒng):WinXP-sp3

  測(cè)試步驟:搭建6個(gè)Web工程,如下:

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

  2.struts1:包含一個(gè)Action,不做任何邏輯處理,直接轉(zhuǎn)發(fā)到一個(gè)JSP頁(yè)面

  3.struts2 JSP:不包含Action,只包含測(cè)試JSP頁(yè)面,直接訪問(wèn)該頁(yè)面。

  4.struts2 單例Action:采用Spring來(lái)管理Struts2的Action實(shí)例,并配置成單例模式。

  5.struts2 多例Action:采用Spring來(lái)管理Struts2的Action實(shí)例,并配置成單例模式。

  6.SpringMVC3:采用Spring來(lái)管理Controller實(shí)例,包含一個(gè)Controller,不做邏輯處理,收到請(qǐng)求后,直接返回到一個(gè)JSP頁(yè)面。

  測(cè)試結(jié)果

  測(cè)試工程請(qǐng)求數(shù)并發(fā)數(shù)總時(shí)間(s)總時(shí)間(s)總時(shí)間(s)平均值(s)Requests Per Second(每秒處理請(qǐng)求數(shù))

  JSP20002005.55 3.59 4.11 4.42 452.83

  struts120002006.77 3.83 7.00 5.86 341.03

  struts2 JSP200020025.20 26.30 24.11 25.20 79.35

  struts2 單例Action200020028.36 27.59 27.69 27.88 71.74

  struts2 多例Action200020031.31 31.97 39.56 34.28 58.34

  SpringMVC320002007.16 7.50 4.27 6.31 317.09

  說(shuō)明:以上測(cè)試雖不是非常的精確,但基本能說(shuō)明一定的問(wèn)題。每個(gè)JSP頁(yè)面和Action都不包含任何的業(yè)務(wù)邏輯代碼,只是請(qǐng)求轉(zhuǎn)發(fā)。每輪測(cè)試取三次總時(shí)間的平均值。所有工程的測(cè)試均全部完成并正常處理請(qǐng)求,沒(méi)有請(qǐng)求拒絕情況發(fā)生。

  結(jié)論:

  1.純JSP的性能應(yīng)該***,這不難理解,JSP被編譯成Servlet后,沒(méi)有任何多余的功能,收到請(qǐng)求后直接處理。(這也驗(yàn)證一句經(jīng)典的話:越原始效率就越高。)

  2.struts1的性能是僅次于純JSP的,由于struts1采用單例Action模式,且本身的封裝相比struts2應(yīng)該說(shuō)簡(jiǎn)單很多,雖然開(kāi)發(fā)效率不如struts2,但已經(jīng)過(guò)多年的實(shí)踐考驗(yàn),性能穩(wěn)定高效。

  3.相比來(lái)說(shuō)struts2的性能就比較差了,這不難理解,struts2之所以開(kāi)發(fā)方便,是由于采用值棧、OGNL表達(dá)式、攔截器等技術(shù)對(duì)請(qǐng)求參數(shù)的映射和返回結(jié)果進(jìn)行了處理,另外還采用大量的標(biāo)簽庫(kù)等,這些都無(wú)疑增加了處理的時(shí)間。因此降低了效率。在我們實(shí)際的項(xiàng)目中,我測(cè)試本地工程訪問(wèn)每秒處理請(qǐng)求數(shù)只能達(dá)到35左右,應(yīng)該說(shuō)還有不少可優(yōu)化的空間。

  4.很多人認(rèn)為struts2性能差是因?yàn)樗亩嗬鼳ction模式導(dǎo)致的,但我們采用spring管理struts2的Action,并設(shè)置按單例方式生成Action實(shí)例后,發(fā)現(xiàn)其性能有所提高,但并不是很明顯。由此可見(jiàn),多例Action模式并不是struts2性能瓶頸所在。另外,我們?cè)趕truts2中采用JSP方式訪問(wèn),發(fā)現(xiàn)其性能依舊和沒(méi)有采用任何MVC框架的純JSP之間存在好幾倍的差距,這又從另一個(gè)側(cè)面證實(shí)了我們剛才得出結(jié)論,struts2性能的瓶頸不在于它的多例Action模式。

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

【編輯推薦】

責(zé)任編輯:金賀 來(lái)源: ITEYE博客
相關(guān)推薦

2021-01-11 14:16:19

Bean代碼Java

2009-05-25 08:39:08

iPhone蘋(píng)果移動(dòng)OS

2010-03-10 16:35:23

Python編程語(yǔ)言

2020-07-27 08:24:42

編程語(yǔ)言C語(yǔ)言Java

2011-05-18 14:52:04

XML

2020-10-23 07:43:37

Log配置性能

2013-12-16 10:20:48

MySQL數(shù)據(jù)庫(kù)

2023-11-20 10:34:09

語(yǔ)言

2012-12-03 10:26:51

Scala

2009-12-04 19:28:25

FreeBSD 8.0Ubuntu 9.10性能比較

2010-12-27 16:01:45

jQuery選擇器

2023-11-19 21:17:58

GoRust

2025-02-12 10:36:06

2009-07-01 18:12:18

JSP的優(yōu)勢(shì)性能比較

2017-12-14 10:16:01

CaddySSLDockerNginx

2011-07-06 14:18:40

Percona SerMySQL

2013-04-03 10:04:36

MySQL 5.6

2015-02-05 09:25:51

HTTPSSPDYHTTP2

2024-06-24 07:00:00

C++RustGo

2022-12-15 08:54:28

JAVA性能JDK
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩在线精品 | 国产一二三视频在线观看 | 精品视频一区二区三区在线观看 | 日韩和的一区二区 | 在线免费观看黄色av | 一区二区三区回区在观看免费视频 | 成人中文字幕在线观看 | 伊人性伊人情综合网 | h视频在线免费看 | 久青草影院 | 亚洲视频一区在线观看 | 日韩中文字幕一区二区 | 欧美日韩网站 | 一区免费| 999精品网| 午夜电影网 | 91在线观看免费视频 | 国产精品一区二区av | 黄免费观看视频 | 免费激情网站 | 国产精品国产精品国产专区不蜜 | 欧美性一级| 中文字幕乱码亚洲精品一区 | 欧美一区二区三区在线 | 欧美日韩综合 | 精品国产一区久久 | 日韩1区| 国产精品成人品 | 国产精品美女视频 | 久久九 | 亚洲有码转帖 | 精产嫩模国品一二三区 | 日日夜夜操天天干 | 99re在线视频 | 国产中文| 亚洲欧美综合网 | 777毛片| 一区二区三区在线观看免费视频 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 亚洲经典一区 | 婷婷色国产偷v国产偷v小说 |