当前位置:   article > 正文

用loadrunner11压力测试tomcat8

loadrunner测试tomcat服务器项目
介绍:这个测试要得到一个结论,在文章最后。推导过程是这样的:假设页面处理时间为0.2秒,1秒,2秒,4秒,用1000个用户逐渐加压,看TPS和事务响应时间的图表。
1.环境配置明细:
tomcat8:8.5.5 ,设置java_opts:-server -Xms1048m -Xmx1096m -Xss512K   ,tomca8的server.xml配置为:

点击(此处)折叠或打开

  1. <Connector port="8080"
  2.        protocol="org.apache.coyote.http11.Http11NioProtocol"
  3.        connectionTimeout="20000"
  4.        redirectPort="8443"
  5.        maxThreads="1000"
  6.        minSpareThreads="20"
  7.        acceptCount="500"
  8.        disableUploadTimeout="true"
  9.        enableLookups="false" />

主机环境:linux: 2.6.32 CentOS release 6.8 (Final),
java: Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
loadrunner:11.00,安装在win7 sp1,loadrunner通过局域网和tomcat8连接。

录制脚本是这样设计的,先访问tomcat8的主页,然后调用tomcat8项目中示例项目example的date.jsp页面。主要设置4次压力测试,有500/1000/2000个并发用户,每秒钟增加2个用户,用户添加完成后持续1分钟,然后结束压测。设置4次压力测试,我把date.jsp稍微增加了一段代码:

点击(此处)折叠或打开

  1. <html>
  2. <%
  3.                   out.println("Hello World!");
  4.                  Thread.currentThread().sleep(200);
  5. %>
  6. <%@ page session="false"%>
  7. <body bgcolor="white">
  8. <jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" />
  9. <font size=4>
  10. <ul>
  11. <li> Day of month: is <jsp:getProperty name="clock" property="dayOfMonth"/>
  12. <li> Year: is <jsp:getProperty name="clock" property="year"/>
  13. <li> Month: is <jsp:getProperty name="clock" property="month"/>
  14. <li> Time: is <jsp:getProperty name="clock" property="time"/>
  15. <li> Date: is <jsp:getProperty name="clock" property="date"/>
  16. <li> Day: is <jsp:getProperty name="clock" property="day"/>
  17. <li> Day Of Year: is <jsp:getProperty name="clock" property="dayOfYear"/>
  18. <li> Week Of Year: is <jsp:getProperty name="clock" property="weekOfYear"/>
  19. <li> era: is <jsp:getProperty name="clock" property="era"/>
  20. <li> DST Offset: is <jsp:getProperty name="clock" property="DSTOffset"/>
  21. <li> Zone Offset: is <jsp:getProperty name="clock" property="zoneOffset"/>
  22. </ul>
  23. </html>
 就是在Thread . currentThread ( ) . sleep ( 200 ) 代码中分别设置为休眠0.2秒,1秒,2秒,4秒,以表示这个业务需要处理的时间为 0.2秒,1秒,2秒,4秒。
以下测试0.2秒情况,如图:

这里在并发用户数达到482个用户时候,就停止了测试。可以看到,TPS(Trans/sec)后来一直在200左右。后面 所有的测试(1秒,2秒,4秒),事务响应都是成功的。当用户数持续增加的情况下,TPS可能下降,每个trans的响应时间从0.2秒,一直增加,所以停止了测试。
接着测试1秒,2秒,4秒情况,情况都是一样: TPS(Trans/sec )后来一直稳定在200左右,每个trans的响应时间从1/2/4秒,一直增加.事务处理数量都是通过的。下图是2秒的一些情况:

1秒压力测试情况:



2秒压力测试情况:


4秒压力测试结果:


最后我的总结情况是:tomcat8在页面响应时间在0.2秒以上的情况下, TPS(Trans/sec ),最大并发处理为200。
其实,这个压力测试的最需要关注的tomcat的配置。tomcat的配置,maxThreads="1000" 这个参数,我设置为10的时候,TPS最大值为10,因为只有10个线程来处理请求嘛,所以TPS最大为10.当我把它设置为1000,同时我用java监控工具jmc监控java虚拟机,可以看到,java虚拟机的确是创建了1000个处理线程(当前并发用户数是1000),但是TPS最大仍然是200,就是我的总结情况,百思不得姐呀。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30393770/viewspace-2126641/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30393770/viewspace-2126641/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/502434
推荐阅读
相关标签
  

闽ICP备14008679号