并发1000,准备时间1s,让它产生大量的等待请求
第一次发起并发的时候,基本错误率在80%
间隔时间较短,多次发起并发
走势图
吞吐量
平均错误率在28%~38%之间,不稳定。
大规模的错误异常是tomcat连接超时
org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.137.233:8080 refused at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:481) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:298) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1105) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1094) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257) at java.lang.Thread.run(Unknown Source) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) ... 13 more
并发1000,准备时间2s,让它产生中量的等待请求。
预热稳定后,基本和准备时间1s差不多
并发1000,准备时间5s,让它产生少量的等待请求。
预热稳定后,基本和准备时间1s差不多
最后经多次测试,一般维持在750并发,2s准备时间,比较稳定。失败率在3.7%
报告
所以默认配置下,基本维持在750并发,吞吐量TPS在32~34左右。
调优1-将tomcat的http连接池数调大(后续的调优在前面的调优基础之上)
修改tomcat的server.xml内容
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1000" minSpareThreads="100" maxSpareThreads="400" acceptCount="1200" /> |
参数解释:
maxThreads //最大线程数
minSpareThreads//初始化时创建的线程数
maxSpareThreads//一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中,请求数超过这个数的请求将不予处理
重启Tomcat,直接进行1000并发,准备时间2s测试
依然有很多连接异常
所以,调整tomcat的连接参数,稍微在修改一下tomcat配置文件
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" minSpareThreads="300" maxSpareThreads="500" acceptCount="1500" />
继续压1000并发
预热后,得出走势图
吞吐量报告
经多次测试,1000并发,在100%成功率结果下,吞吐量很少上30/s。(TPS:34/s,错误率:5%)
另一次加压100%成功率走势图
报告
并发1200,准备时间1s
经多次测试,错误率基本达到70%~80%。
错误基本集中在
Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Could not open connection |
top之后,发现系统负载率不高。
(未完待续)
标记:第9页的开始,标题-优化策略2之前
相关推荐
大型Web网站数据存储与性能调优-开题报告
WebLogicServer性能及调优-调优Web应用程序[参考].pdf
Web应用性能提升之数据库调优Web应用性能提升之数据库调优Web应用性能提升之数据库调优
Web应用性能提升之前端调优Web应用性能提升之前端调优Web应用性能提升之前端调优
软件测试------------web测试点集合-------------------------------------------------------------------------------------------------------------------------------
学习Java程序性能调优视频教程后,有助于您的专业技术大度上升。解决工作诸多问题,快来吧。
这是《网站性能优化--从前端到后台的优化》一书的引言部分,全面英文版通读一遍之后,感觉非常实用,故有翻译给国人一起共享的想法。现将引言部分抛出,如果大家认为有用,我将陆续将后续章节翻译成中文。
Web应用的压力测试-loadrunner(好资料收藏)
JAVA-WEB应用服务器调优方案
Oralce_weblogic_11g_安装-WEB应用部署-连接数据库-监控调优
JAVA-WEB应用服务器调优方案
「安全防御」我的Web应用安全模糊测试之路 - 攻防靶场 web安全 安全管理 安全防护 红蓝对抗 NGFW
WEB性能测试结果分析及调优.pptx
web压力测试工具was-weba.rar 很好用 欢迎下载
熟练运用WAS (web application stress tool)软件进行web 压力测试
wast是web压力测试 的描述文档,可浏览观看
webserver网站压力测试工具webserver网站压力测试工具webserver网站压力测试工具webserver网站压力测试工具webserver网站压力测试工具
介绍十个免费的Web压力测试工具的优缺点
Web Application Stress Tool专门用来进行实际网站压力测试的一套工具。