欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Web应用单点压力测试调优-第2季

程序员文章站 2022-05-23 18:29:54
...

 

并发1000,准备时间1s,让它产生大量的等待请求

 

第一次发起并发的时候,基本错误率在80%

 

间隔时间较短,多次发起并发

走势图

 

 

 


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 

吞吐量


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 

平均错误率在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%


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 

报告

 


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 

所以默认配置下,基本维持在750并发,吞吐量TPS32~34左右。

 

调优1-tomcathttp连接池数调大(后续的调优在前面的调优基础之上)

 

修改tomcatserver.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并发

预热后,得出走势图


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 吞吐量报告

 

 

 

 


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 

经多次测试,1000并发,在100%成功率结果下,吞吐量很少上30/s。(TPS:34/s,错误率:5%

另一次加压100%成功率走势图


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 

报告


Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
 

并发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应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 20.4 KB
  • Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 10.1 KB
  • Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 18.4 KB
  • Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 9.5 KB
  • Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 18.4 KB
  • Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 10.1 KB
  • Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 17.5 KB
  • Web应用单点压力测试调优-第2季
            
    
    博客分类: 经验总结 javatomcatjvmlinux调优 
  • 大小: 9.7 KB