注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

Struts2, Spring MVC, Sitemesh, Tiles 性能大比拼  

2009-11-05 14:30:37|  分类: spring |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

(本文出自 http://blog.csdn.net/AlexLynn ,转载时请注明出处)

一、概述:

Struts2出来之后,有很多人开始尝试使用,很多概念与Struts1已经有了很大变化。

关于Struts2与Spring MVC之间的功能差异评述,网络上已经有很多,每个人都有自己的喜好和选择,这里就不再重复。

本篇只对Struts2与Spring MVC之间的运行速度做个比较,另外也对Sitemesh和Tiles运行速度做个比较,不做评论。

二、建立测试项目

具体项目文件请从以下地址下载(包含所有依赖包,共 10MB):

http://lcql.com.googlepages.com/Struts2SpringMVC.part1.rar

http://lcql.com.googlepages.com/Struts2SpringMVC.part2.rar

http://lcql.com.googlepages.com/Struts2SpringMVC.part3.rar

http://lcql.com.googlepages.com/Struts2SpringMVC.part4.rar

下载后解压,可以在JBUILDER中直接运行WEB,您也可以将WebRoot目录拷贝到您的Tomcat的部署目录(webapps)中运行 (http://localhost:8080/WebRoot/)。具体操作不做详述。

三、测试

使用Apache ab做个最简单切有效的测试,其中参数-c并发数10,-n总请求次数1000,命令行如下:

ab -n 1000 -c 10 http://localhost:8080/WebRoot/test.jsp

在我的机器上结果如下(3次平均):

  1. JSP                           : http://127.0.0.1:8080/WebRoot/test.jsp

    (TPR:1.609ms,RPS:609.12,F:0,L:176b)

  2. Sitemesh                 : http://127.0.0.1:8080/WebRoot/sitemesh/test.jsp

    (TPR:2.656ms,RPS:374.27,F:60,L:649b)

  3. Struts2                       : http://127.0.0.1:8080/WebRoot/struts2/test.struts2

    (TPR:3.406ms,RPS:310.00,F:0,L:204b)

  4. Struts2 + Sitemesh : http://127.0.0.1:8080/WebRoot/sitemesh/test.struts2

    (TPR:4.094ms,RPS:224.23,F:252,L:677b)

  5. Spring MVC               : http://127.0.0.1:8080/WebRoot/jsp.spring

    (TPR:2.828ms,RPS:367.82,F:0,L:204b)

  6. Spring MVC + Tiles 1 : http://127.0.0.1:8080/WebRoot/tiles.spring

    (TPR:3.188ms,RPS:313.73,F:900,L:772b)

  7. Spring MVC + Sitemesh : http://127.0.0.1:8080/WebRoot/sitemesh/jsp.spring

    (TPR:3.656ms,RPS:273.50,F:104,L:677b)

TPR:每个请求的平均时间(毫秒)

RPS:每秒处理的请求数

F:1000个请求中失败的请求数

L:每个请求得到的数据的长度(字节)

四、结论(如果测试复杂的业务处理,可能结果的差异会比较明显一些)

  1. 速度:Spring MVC比Struts2稍快,可能是因为Struts2针对每个请求都创建新的Action对象的缘故。sitemesh与titles的速度基本相当。
  2. 稳定性:在不支持模板的情况下,Struts2与Spring MVC的稳定性相当。Tiles比sitemesh的失败率要高出很多。

(以上纯属个人意见,如果您有更全面更准确的结论,请告知我。)

  评论这张
 
阅读(704)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017