五:tomcat的优化个人笔记

本文介绍Tomcat8的性能优化方法,包括禁用AJP连接、配置执行器线程池及选择合适的运行模式等,同时提供了JVM参数的优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tomcat8的优化

对于tomcat的优化从2个方面入手,
1是tomcat自身的配置,
2是jvm虚拟机的调优

1.1禁用AJP连接

什么是AJP?
AJP(Apache JServer Protocol)
用户请求先请求到WEB服务器再请求到Tomcat服务器
如果WEB服务器和Tomcat服务器是短连接,性能就比较低,
所以,Tomcat对WEB服务器提供了一个端口为8009的连接器来提高长连接.
AJP的缺点:
AJP是Apache服务器才可以使用,但是我们一般都是Nginx+tomcat架构,用不到AJP协议,所以需要禁用AJP
如何禁用?
修改conf下的server.xml文件把端口为8009的注释掉,重启tomcat
查看AJP
首先点击Server Status
在这里插入图片描述
就会弹出下面
在这里插入图片描述
禁用之后
在这里插入图片描述

1.2执行器线程池

每一个用户请求都是一个线程,可以使用线程池提高性能
修改server.xml文件
首先’
打开这段注释
在这里插入图片描述
参数说明:
maxThreads:最大并发数,默认设置 200,一般建议在 500 ~ 1000,根据硬件设施和业 务来判断
minSpareThreads:Tomcat 初始化时创建的线程数,默认设置 25
prestartminSpareThreads: 在 Tomcat 初始化的时候就初始化 minSpareThreads 的 参数值,如果不等于 true,minSpareThreads 的值就没啥效果了
maxQueueSize,最大的等待队列数,超过则拒绝请求
然后
在这里添加executor属性指向上面的执行器
在这里插入图片描述
重启tomcat

在这里插入图片描述

至于为什么显示最大线程数为-1,其实只是显示问题请看
https://blog.youkuaiyun.com/weixin_38278878/article/details/80144397

1.3tomcat的运行模式

bio
默认模式,性能不太行,没有任何的除了优化
nio
(new i/o),是一个基于缓冲区,并能提供非阻塞I/O操作的java API,比传统I/O(bio)更好的处理并发运行性能
apr
从操作系统级别解决异步IO问题大幅度提高性能,但是安装困难
在tomcat8中有最新的nio2,建议使用nio2(速度更快)
设置nio2
把8080连接器的HTTP/1.1改成org.apache.coyote.http11.Http11Nio2Protocol
在这里插入图片描述
在这里插入图片描述
重启tomcat
在这里插入图片描述
在这里插入图片描述
成功!

2.1调整JVM参数的优化

将初始堆大小设置为128m,最大为1024m 初始年轻代大小64m,年轻代最大256m
JAVA_OPTS="‐XX:+UseParallelGC ‐XX:+UseParallelOldGC ‐Xms128m ‐Xmx1024m XX:NewSize=64m ‐XX:MaxNewSize=256m ‐XX:+PrintGCDetails XX:+PrintGCTimeStamps ‐XX:+PrintGCDateStamps ‐XX:+PrintHeapAtGC Xloggc:…/logs/gc.log"

设置G1回收器
设置了最大停顿时间100毫秒,初始堆内存128m,最大堆内存1024m JAVA_OPTS="‐XX:+UseG1GC ‐XX:MaxGCPauseMillis=100 ‐Xms128m ‐Xmx1024m XX:+PrintGCDetails ‐XX:+PrintGCTimeStamps ‐XX:+PrintGCDateStamps XX:+PrintHeapAtGC ‐Xloggc:…/logs/gc.log"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值