Tomcat调优

Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力,上篇文章已经介绍了 tomcat优化内存,这里将从其他方面继续介绍tomcat的调优。
添加完用户后,启动tomcat,浏览器访问 http://IP:8080 点击server status 查看信息

Tomcat调优_第1张图片
图片.png

Tomcat调优_第2张图片
图片.png

tomcat的运行模式有3种:

bio:
默认的模式,性能非常低下,没有经过任何优化处理和支持.
nio:
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:
安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.

启动NIO模式

修改server.xml里的Connector节点,修改protocol为

org.apache.coyote.http11.Http11NioProtocol
Tomcat调优_第3张图片
图片.png
Tomcat调优_第4张图片
图片.png

执行器优化(线程池)

在tomcat中每一个用户请求都是一个线程,所以可以使用线程池提高性能。
开启并且使用,在Connector中指定使用共享线程池
配置:

     
        maxThreads 客户请求最大线程数
        minSpareThreads Tomcat初始化时创建的 socket 线程数
        maxSpareThreads Tomcat连接器的最大空闲 socket 线程数
        enableLookups 若设为true, 则支持域名解析,可把 ip 地址解析为主机名
        redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
        acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
        connectionTimeout 连接超时
        minProcessors 服务器创建时的最小处理线程数
        maxProcessors 服务器同时最大处理线程数
        URIEncoding URL统一编码
Tomcat调优_第5张图片
图片.png

禁用AJP连接器

AJP(Apache JServer Protocol)
AJPv13协议是面向包的。WEB服务器和Servlet容器通过TCP连接来交互;为了节省SOCKET创建的昂贵代价,WEB服务器会尝试维护一个永久TCP连接到servlet容器,并且在多个请求和响应周期过程会重用连接。
我们一般是使用Nginx+tomcat的架构,所以用不着AJP协议,所以把AJP连接器禁用

Tomcat调优_第6张图片
图片.png

在管理界面中看不到ajp了:

Tomcat调优_第7张图片
图片.png

完成上面几步对Tomcat的优化配置,你的Tomcat服务器并发量肯定会有大幅度的提升.

你可能感兴趣的:(Tomcat调优)