Spring MVC 和Struts2的性能比较

原文地址:http://blog.csdn.net/smallnest/article/details/6424303


Spring MVC 和 Struts2 是现在比较流行的 java web MVC 框架。这两个框架都有广泛的应用。至于两个框架的优劣,众说纷纭,这里我也不想搀和到争论之中。我所关注的是两个框架的性能如何。最近利用 ApacheBench 做了一下测试。结果显示,两者之间的性能相差不大, Spring MVC 并没有绝对的优势。



我的测试环境是在 HP 一台服务器上进行的。这台服务器拥有 Intel(R) Xeon(R) CPU E5530 @ 2.40GHz 四枚。每个 CPU 四个核。 16G 内存。 64bit Red Hat Enterprise Linux Server release 5.4 操作系统。



Web 服务器采用 tomcat 7.0.12, 未做特别的优化,只是将 Connector 的 protocol 换成 Http11NioProtocol 的处理方式 :

<Connector executor="tomcatThreadPool"

port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

maxThreads="1000" minSpareThreads="50"

acceptCount="1000"



connectionTimeout="20000"

redirectPort="8443" />





为了避免数据库的操作对测试的影响,测试用的 Web 应用程序都只是一个简单的 Hello world 程序。 Spring Helloworld 程序通过 Annotation 定义了一个 Controller 类,设置了一个 message, view 是一个 jsp 页面,用来显示这个 message 。 Struts2 Helloworld 程序实现了一个 Action, 里面定义了一个 message, 一个 jsp 页面用来显示这个 message 。 总之,这两个程序逻辑基本相同,程序简之又简。

作为比较,每次测试时还测试 tomcat root 下的 index.jsp 文件,用以和使用 Spring/Struts2 框架的应用程序进行比较。因为 index.jsp 文件 byte 数要比这两个框架的应用程序大的多,关于 ROOT 的测试数据仅供参考。



测试时发现针对同一框架应用相同的测试方法,得到的测试结果也不尽相同。多多少少有 0.01ms 的误差。



Spring MVC 的版本是: 3.1.0.M1

Struts2 的版本是: 2.2.3



下图是测试结果比较:



从图上看出, spring,struts2 和 root 线基本重合。考虑到测试结果的误差,基本可以看作两者在性能上并没有太大的差别。





版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值