Spring MVC 和Struts2的性能比较

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值