AJP禁用
概述:
- 连接默认是启用的,占用8009端口
- AJPv13协议是面向包的,WEB服务器和Servlet容器通过TCP连接来交互,为了节省socket的创建WEB服务器会尝试维护一个永久的TCP连接到servlet容器,并且在多个请求和响应周期过程会重用连接
- 常用请求是 web客户发请求通过HTTP协议访问8080到tomcat服务器
- 在服务器与用户连接中间架设一个web服务器
- 然后就是用户现请求web服务器然后再请求到tomcat
- 好处就能通过中间的web服务器做集群,缓存等等
- 所有tomcat使用AJP长连接来补充短连接时性能低的问题(避免频繁创立关闭连接的性能损耗)
- 而AJP服务是在Apache服务是才能使用,而现在一般架构为Nginx+tomcat
- 一般使用Nginx+tomcat的架构,所以用不着AJP协议,所以把AJP协议禁用掉
禁用方式:
- 在conf下的server.xml文件,找到下面这个注释,重启tomcat即可
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443">
执行器(线程池)
概述:
- 用户一个请求就是一个线程,
修改方式:
- 修改server.xml
- 注:配置成功后,将被正确记录,但是在启动tomcat查看时显示最大线程数-1是正常的
运行模式:
- bio
- 8版本以下默认模式属于阻塞的,性能低,没有优化过
- nio
- 是一个基于缓冲区,并能提供非阻塞I/O操作的java API
- 设置nio2 conf下的server.xml
- apr
- 安装困难,能从操作系统级别来解决异步的IO问题,提升性能
- 推荐nio , 在tomcat8中有最新的nio2,速度更好
调整JVM参数:
设置并行垃圾回收器
- 进入tomcat的bin目录,中的catalina.sh文件,将参数粘贴上去
- 在logs目录中可以生成gc.log文件
- 访问gceasy.io将gc日志上传,可以进行分析得到报表
参数调整:
- 年轻代初始大小
- -XX:NewSize=64m
- 年轻代最大大小
- -XX:MaxNewSize=256m
设置G1垃圾回收器:
- 先找到bin目录下的catalina.sh,在下方增加