使用Javamelody验证struts-spring框架与springMVC框架下action的訪问效率

时间:2023-03-08 20:55:56
使用Javamelody验证struts-spring框架与springMVC框架下action的訪问效率

在前文中我提到了关于为何要使用springMVC的问题,当中一点是使用springMVC比起原先的struts+spring框架在效率上是有优势的。为了验证这个问题,我做了两个Demo来验证究竟是不是这个原因。

在展示详细的測试数据之前,先来介绍下怎样使用javamelody測试工具来測试我们的系统。

1.须要拿到javamelody.war。并将其放在Tomcat的webapps下进行公布。

2.将javamelody.jar放在被监控项目的lib文件夹下。

3.在被监视项目的web.xml文件里增加以下的代码:

<filter>
<filter-name>monitoring</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>

4.启动Tomcat应用server并訪问javamelody应用,如http://localhost:8080/javamelody(假设公布项目在tomcat的webapps下。则一定要在tomcat的bin文件下双击start-up.bat文件进行启动加),假设出现例如以下结果明javamelody.war部署成功:

使用Javamelody验证struts-spring框架与springMVC框架下action的訪问效率

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTEzMTQ1MTdsb3Zl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

5.訪问监视数据。直接输入被监视项目的路径并在后面加入/monitoring,如我的被监视的项目名称为strutsandspring。则输入的url为:http://localhost:8080/strutsandspring/monitoring

介绍完javamelody的配置方法后。来看详细的測试数据。

第一、  struts-spring框架下訪问action的測试结果:

使用Javamelody验证struts-spring框架与springMVC框架下action的訪问效率

第二、  springMVC框架下的測试结果:

使用Javamelody验证struts-spring框架与springMVC框架下action的訪问效率

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTEzMTQ1MTdsb3Zl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

通过对照这两站图片中的红色标记部分,我们能够看到,在相同是訪问20次的条件下,springMVC所用平均时间是3ms,而struts-spring所用平均时间是4ms。

该结果表明springMVC确实要比struts-spring框架在性能上有优势。假设我们将訪问次数大大提高,相信差距会更加的明显。