精华帖 (2) :: 良好帖 (10) :: 新手帖 (0) :: 隐藏帖 (12)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-31
最后修改:2010-06-01
机器配置是 T6600 + 2G内存 执行一条最简单的查询语句,500线程 select * from folder where fid = '1' order by orderNum struts2 + spring3 + hibernate 的测试结果 struts2 + spring3 + mock对象的测试结果 spring3 MVC + hibernate 的测试结果 最后是spring3 MVC + jdbc 的测试结果 根据最后两种情况可以看到 hibernate 对性能的损失尚可接受,但是struts2的性能为什么和 spring3 MVC 差这么多 -_-b 最后附上struts2官方的helloWorld例子程序的测试结果 性能也不容乐观。。。。。。 这个是官方的helloworld例子使用的jar包如下 <dependencies> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.1.8.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> </dependencies> 然后是我的 struts.xml 配置文件,log 也已经设置到 ERROR 级别 <struts> <constant name="struts.devMode" value="false" /> <package name="basicstruts2" extends="struts-default"> <!-- If no class attribute is specified the framework will assume success and render the result index.jsp --> <!-- If no name value for the result node is specified the success value is the default --> <action name="index"> <result>/index.jsp</result> </action> <!-- If the URL is hello.action the call the execute method of class HelloWorldAction. If the result returned by the execute method is success render the HelloWorld.jsp --> <action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp</result> </action> </package> </struts> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-05-31
个人对Struts 2 没啥好感, Spring MVC倒是简单快捷
|
|
返回顶楼 | |
发表时间:2010-05-31
一个建议:为了分离影响因素,后台不要用hibernate,避免框架整合hibernate的调整差异影响测试。
写个返回固定结果的Mock替换hibernate再压吧。 如果仍然有类似的差距,说明性能差异在MVC。如果差距大有不同,还是查查是不是整合的问题为好。 |
|
返回顶楼 | |
发表时间:2010-05-31
本人觉得struts2性能差是正常的,因为struts2的Action对象是Prototype类型的,而且分离Servelt API时大量的用到Java的反射机制,Java的发射恰恰又是非常影响性能。
|
|
返回顶楼 | |
发表时间:2010-05-31
springmvc 的架构不太熟悉,但struts2 的性能和springMVC 的相比差这么多出乎我的意料。。有时间研究下SpringMVC看看。。
期待有更详细的测试。。不大相信Struts2的性能会相差这么多。 |
|
返回顶楼 | |
发表时间:2010-05-31
最后修改:2010-05-31
miaow 写道 一个建议:为了分离影响因素,后台不要用hibernate,避免框架整合hibernate的调整差异影响测试。
写个返回固定结果的Mock替换hibernate再压吧。 如果仍然有类似的差距,说明性能差异在MVC。如果差距大有不同,还是查查是不是整合的问题为好。 有空按照你的建议试试看 , 但是我用 spring MVC + hibernate 和 spring MVC + jdbc 这两种情况性能差别尚可接受。说明hibernate对性能影响比较小 |
|
返回顶楼 | |
发表时间:2010-05-31
一条简单的sql
能看出struts2 和 springMVC 的差别吗? struts2 springMVC 和数据库操作有关系么? |
|
返回顶楼 | |
发表时间:2010-05-31
wy19280469 写道 一条简单的sql
能看出struts2 和 springMVC 的差别吗? struts2 springMVC 和数据库操作有关系么? 已经加上了 struts2 + spring 用mock对象的测试结果,没有连接数据库,情况一样很差!! 不管是不是简单的sql,同样的操作,其他条件都一样,只有使用web框架不一样 struts2 和 springMVC 性能差别很大! |
|
返回顶楼 | |
发表时间:2010-05-31
性能差木有关系,只要能满足要求即可
|
|
返回顶楼 | |
发表时间:2010-05-31
我建议把各自导入的包放进来看看,struts2基础包和放了plugin后的性能差别是很大的。
|
|
返回顶楼 | |