线程池优化
-
maxConnections(最大连接数)
注意:最大连接数是受系统内核限制的,查看方式ulimit -a
可是适当调大这个数量,修改方式vim /etc/security/limits.conf
添加tomcat的maxConnections,这里有两个点要注意
- 对cpu要求更高时,建议不要配置过于大,因为会过于大对cpu竞争更激烈
- 对cpu要求不是特别高时,建议配置3000左右(64g内存,32核cpu)
-
maxThread和acceptCount
maxThread是最大线程数,默认值是200,一般配置500~700左右
acceptCount就是排队等待的数量一般和maxThread持平或略低
maxThread+acceptCount就是单tomcat最大处理数
配置方式:tomcat的server.xml
jvm优化(jdk1.8)
配置方式:修改catalina.sh
使用jmp -heap pid可以查看参数是否生效
GZip
使用GZip进行网络传输的压缩
配置方式:
- compression: 打开压缩功能
- compressionMinSize:启用压缩的输出内容大小,默认是2k
- compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些资源类型需要压缩
其他项配置
- minSpareThreads最小空闲线程数
-
connectionTimeout连接超时时间
模式选择
- tomcat有三种模式:
- BIO:最稳定最老的连接器,使用阻塞形式处理请求
- NIO:异步非阻塞处理请求
- APR:原生c语言编写的非阻塞I/O,目前性能最理想
(tomcat配置apr,请参考https://www.jianshu.com/p/b6b7390bde22)