浅谈 Tomcat 调优
动静分离
程序中静态资源的访问无疑会消耗 Tomcat 的性能,一般采用 Nginx + Tomcat 实现动静分离。用 Nginx 作静态资源服务器。
配置 Tomcat 线程池
Tomcat 默认不使用线程池模式,可以通过配置线程池优化其性能。打开 server.xml 文件,配置如下:
< Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
< Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"
maxIdleTime="60000"/>
Executor 配置参数说明如下:
- name:线程池名称
- namePrefix:线程池中每个线程名称的前缀
- maxThreads:最大线程数。比如请求数超过 150 时,可以调大线程数,或者采用 Tomcat 集群
- minSpareThreads:线程池中允许空闲的线程数
- maxIdleTime:空闲线程存活时间
优化连接器 Connector
< Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
enableLookups="false"
maxThreads="3000"
minSpareThreads="20"
acceptCount="1000"
URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443" />
Connector 配置参数说明如下:
- executor:指定配置的线程池
- port:连接端口
- protocol:协议类型
- enableLookups:关闭 DNS 解析,减少性能损耗
- maxThreads:最大连接线程数
- minSpareThreads:最小允许空闲线程数
- acceptCount:线程等待队列大小
- connectTimeout:超时时间,单位毫秒
作者:超级鲨鱼辣椒
转载请注明原文链接:https://www.cnblogs.com/jinzlblog/p/15293724.html