Tomcat参数配置和性能调优测试

1、tomcat常用配置参数
<Connector port=“8080" protocol=“org.apache.coyote.http11.Http11NioProtocol”
maxThreads=“600”
minSpareThreads=“100”
maxSpareThreads=“500”
acceptCount=“700”
connectionTimeout=“20000”
redirectPort=“8443” />
参数说明:
protocol=“org.apache.coyote.http11.Http11NioProtocol” 使用java的异步io护理技术,no blocking IO
maxThreads=“600" 表示最多同时处理600个最大线程数
minSpareThreads=“100" 表示即使没有人使用也开这么多空线程等待,初始化时创建的线程数
maxSpareThreads=“500" 表示如果最多可以空500个线程,例如某时刻有505人访问,之后没有人访问了,则tomcat不会保留505个空线程,而是关闭505个空的。 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount=“700” 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
maxConnections:最大连接数
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
tomcat6开始不用的两个参数:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75

2、其他相关配置
配置、测试参考该文章:https://mp.weixin.qq.com/s/qr7EQhJAG-mhpzpk23JmDw
(1) 禁用AJP连接,减少资源浪费
在这里插入图片描述
将该配置注释掉,然后重启tomcat,刷新tomcat管理页面后,AJP配置消失。

(2)使用执行器(线程池),提高性能
在这里插入图片描述
保存退出,重启tomcat,查看管理页面效果

(3)tomcat的三种运行模式
bio: 默认的模式,性能非常低下,没有经过任何优化处理和支持
nio: (new I/O),是Java SE 1.4及后续版本提供的一种新的 I/O操作方式(即java.nio包及其子包),java nio是一个基于缓冲区,并能提供非阻塞I/O操作的java API ,因此nio也被看成是 non-blocking I/O的缩写,它拥有比传统I/O操作(bio)更好的并发运行性能
apr: 安装起来最困难,不过在tomcat8中有最新的nio2,速度更快,建议使用nio2,配置如下
在这里插入图片描述

3、性能测试
测试一:
jvm配置默认,tomcat配置如下:
server.connection-timeout=4000
server.tomcat.min-spare-threads=5
server.tomcat.max-threads=10
server.tomcat.max-connections=10
server.tomcat.accept-count=10
测试汇总结果:
在这里插入图片描述

测试二:
jvm配置默认,tomcat配置如下:
server.connection-timeout=4000
server.tomcat.min-spare-threads=100
server.tomcat.max-threads=500
server.tomcat.max-connections=10000
server.tomcat.accept-count=1000
测试汇总结果:
在这里插入图片描述

测试三:
jvm配置:java -Xms1024m -Xmx1024m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:D:/logs/gc.log -jar jarName.jar &,tomcat配置同测试二
测试汇总结果:
在这里插入图片描述

测试四:
jvm配置:java -Xms3024m -Xmx3024m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:D:/logs/gc.log -jar jarName.jar &,tomcat配置同测试二
测试汇总结果:
在这里插入图片描述

以上是在我个人电脑中做的一些测试。从中我们可以发现,不同的tomcat参数和jvm参数配置,其性能发挥是不一样的,好的参数配置,使应用能够更充分的发挥硬件的性能。另外我们在发现性能不足时,可能通过查看服务器监控,找出性能瓶颈并进行针对性的升级优化。还有就是关于tomcat的并发数量问题,如果是在一台性能较好的服务器上,抗住几百的并发应该是完全没有问题的。

4、JMeter的结果树和聚合报告说明
(1) 结果树
在这里插入图片描述
Thread Name: 线程组名称
Sample Start: 启动开始时间
Load time: 加载时长,整个请求的消耗时间,从发送到接收完成全程消耗的时间
Latency: 等待时长,不常用,表示从请求发送到刚开始接收响应时的时间
Size in bytes: 发送的数据的总大小
Headers size in bytes: 发送头的大小
Body size in bytes: 发送数据的其余部分的大小
Sample Count: 发送请求数统计
Error Count: 交互错误统计
Response code: 返回码
Response message: 返回信息
Response headers: 返回的头部信息
HTTPSampleResult:附加的请求信息

(2) 聚合报告
在这里插入图片描述
JMeter大家可以设置成中文的,以下是英文的版的说明:
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
Samples:表示你这次测试中一共发出了多少个请求
Average:平均响应时间,默认情况下是单个 Request 的平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
95% Line:95% 用户的响应时间
99% Line:99% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量,默认情况下表示每秒完成的请求数,Request per Second
KB/Sec:每秒从服务器端接收到的数据量

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
调优 Tomcat 的性能参数可以提高其稳定性和响应速度,以下是一些常用的调优方法: 1. 增加 JVM 内存:通过增加 JVM 内存可以提高 Tomcat 的性能。可以通过设置JAVA_OPTS环境变量或修改 catalina.sh/catalina.bat 文件来增加内存。 2. 调整线程池大小:Tomcat 默认的线程池大小为 200,可以根据具体需求调整线程池大小。可以通过修改 server.xml 文件中的 Connector 元素的 maxThreads 属性来实现。 3. 启用 HTTP/2:HTTP/2 可以提高网站的性能和响应速度。Tomcat 8 及以上版本支持 HTTP/2,可以通过修改 server.xml 文件中的 Connector 元素的 protocol 属性来启用。 4. 使用 GZIP 压缩:启用 GZIP 压缩可以减少页面加载时间。可以通过修改 server.xml 文件中的 Connector 元素的 compression 属性来启用。 5. 调整缓存大小:Tomcat 默认的缓存大小为 10MB,可以根据具体需求调整缓存大小。可以通过修改 server.xml 文件中的 Context 元素的 cacheMaxSize 属性来实现。 6. 禁用 DNS 反向解析:DNS 反向解析可能会导致性能问题,可以通过修改 server.xml 文件中的 Connector 元素的 enableLookups 属性来禁用。 7. 关闭不必要的 Valve:Valve 可能会影响性能,可以关闭不必要的 Valve。可以通过修改 server.xml 文件中的 Context 元素的 Valve 元素来实现。 以上是一些常用的 Tomcat 性能参数调优方法,具体调优方法需要根据实际情况进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值