jmeter对tomcat性能测试

主要对tomcat的参数做一些记录(jmeter和tomcat在同一个计算机,可能引起测试误差)

我的计算机配置  4核8线程  8G内存

案例一

tomcat  JVM  1.8G堆内存,无数据库操作

#最大线程数
server.tomcat.maxThreads =10000
#这个参数是指在同一时间,tomcat能够接受的最大连接数,一般这个值要大于maxThreads+acceptCount
server.tomcat.maxConnections =20000
#当线程数量达到最大线程数时所允许的最大等待队列的长度
server.tomcat.acceptCount =200
#最小空闲线程数
server.tomcat.minSpareThreads =10



 并发数平均响应时间响应时间中位数90%用户的响应时间95%用户的响应时间99%用户的响应时间最小响应时间最大响应时间错误率吞吐量(s)每秒发送的数据(KB)每秒接受的数据(KB)
HTTP Request100035433785086287318790.0%887.3103.9274.6
HTTP Request5000100010471725200924229427210.0%802.994.0248.5
HTTP Request100001692138932653582391813760160.0%699.878.5207.3
HTTP Request1500011669452565287739585534747.3%496.7611.780.9
HTTP Request20000147713552883324442735529817.7%680.2363.8172.2

 

分析:在tomcat允许最大10000线程的情况下,并发数越大,响应时间越长,吞吐量越小。在某时刻会发生连接错误。

 

案例二

 

tomcat  JVM  1.8G堆内存,无数据库操作

 

#最大线程数
server.tomcat.maxThreads =800
#这个参数是指在同一时间,tomcat能够接受的最大连接数,一般这个值要大于maxThreads+acceptCount
server.tomcat.maxConnections =20000
#当线程数量达到最大线程数时所允许的最大等待队列的长度
server.tomcat.acceptCount =200
#最小空闲线程数
server.tomcat.minSpareThreads =10

 

 并发数平均响应时间响应时间中位数90%用户的响应时间95%用户的响应时间99%用户的响应时间最小响应时间最大响应时间错误率吞吐量(s)每秒发送的数据(KB)每秒接受的数据(KB)
HTTP Request10001806201923562410249797525820.0%385.845.2119.4
HTTP Request500023532210358241594341618453849.74%874.31255.4136.0

分析:在tomcat允许最大800线程的情况下,并发数不能超过800太多(1000可以),不然会有很多的请求会因为tomcat的接受请求线程全被占用而被tomcat服务器拒绝接受。Address already in use: connect

 

案例三

tomcat  JVM  1.8G堆内存,无数据库操作

#最大线程数
server.tomcat.maxThreads =20000
#这个参数是指在同一时间,tomcat能够接受的最大连接数,一般这个值要大于maxThreads+acceptCount
server.tomcat.maxConnections =30000
#当线程数量达到最大线程数时所允许的最大等待队列的长度
server.tomcat.acceptCount =200
#最小空闲线程数
server.tomcat.minSpareThreads =10
 并发数平均响应时间响应时间中位数90%用户的响应时间95%用户的响应时间99%用户的响应时间最小响应时间最大响应时间错误率吞吐量(s)每秒发送的数据(KB)每秒接受的数据(KB)
HTTP Request20000163813303210387243824461913.26%717.6311.8192.6
HTTP Request150001597140631532764116349941.22%767.2114.7234.6
HTTP Request8000172617292905299340998247680.0%797.794.8246.8
HTTP Request50002171207334233844449833448920.0%753.1100.6231.7
HTTP Request300020752214326533913656137360.0%712.883.53220.6
HTTP Request100046156584387499229980.0%796.293.3246.4

 

分析:和案例一相比类似,最大线程数不是越大越好,线程数的增多或导致过多的线程上下文切换,耗费时间。导致单个响应时间的上升。

总结:maxThreads并没有一个最优的值,需要根据系统的配置和项目内容来不断地测试,调整和优化。最终得到合理的配置。在tomcat的配置相同的情况并且相同的并发下,响应时间,错误率,吞吐量也存在较大差异,主要是因为系统的真实环境不同,可能系统本来就有较多线程在运行。

 

 

 

 

5000并发

转载于:https://www.cnblogs.com/ll9507/p/11374487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值