传统的tomcat war包部署
- Connector:接收请求,创建Request和Response对象用于和请求端交换数据,让Engine处理请求,返回响应
- Engine:一个 Engine代表一个完整的 Servlet 引擎,它接收来自Connector的请求,并决定传给哪个Host来处理
- Host:Engine可以包含多个Host,每个Host代表一个虚拟主机,处理不同域名的请求 Context:即运行的一个Web应用
(1).配置connnect(server.xml)信息
- acceptCount:接收连接队列最大长度,如果队列满了,则请求一律被拒绝。默认100
- maxThreads/minSpareThreads:请求处理线程最大数量/最小空闲数。默认200/10
- maxConnections:接收的最大连接数。NIO模式下默认10000
(2)配置jvm参数
Tomcat跑在jvm上,所以需要对tomcat的java启动命令调优:
- 运行模式:-server或-client,生产环境一定要使用-server,linux上默认为-server
- -Xms:初始化堆大小
- -Xmx:最大堆大小,-Xms 与-Xmx 设成一样的值,避免 JVM 反复重新申请内存,导致性能大起大落
具体方法:
参考catalina.sh(catalina.sh 中的CATALINA_OPTS环境变量参数)中的说明,在/bin目录下创建setenv.sh,并设置环境变量
一般配置CATALINA_OPTS即可满足需要,没有必要配置JAVA_OPTS