tomcat 连接配置问题:
- 连接超时及请求次数配置
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="-1"
maxKeepAliveRequests="20000000"
redirectPort="8443" />
不建议将connectionTimeout设置为-1, 这样导致无用的连接被占用。
官方详细配置文档见:
https://tomcat.apache.org/tomcat-9.0-doc/config/http.html
注
如果是springboot项目使用内嵌的tomcat需要注意:
在代码级写的配置只对内嵌的tomcat起作用,如果将项目打包后部署到独立的tomcat上就无效了!如:
/**
* @description web服务器tomcat的属性配置类
* @author Michael Corleone
* @date 2021年7月21日
* @version 1.0.0
* 提示:该配置只对内嵌tomcat有用!
*/
//当spring容器内没有TomcatEmbeddedServletContainerFactory这个bean时,会把bean加载进spring容器
@Configuration
public class WebServerConfiguration implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
@Override
public void customize(ConfigurableWebServerFactory factory) {
//使用对应工厂类提供给我们的接口定制化我们的tomcat connector
((TomcatServletWebServerFactory) factory).addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
// connector.
protocol.setMaxKeepAliveRequests(20000000);
}
});
}
}
以上配置类只对内嵌的tomcat有用, 打包后部署到独立tomcat的话需到tomcat的server.xml文件中进行对应的配置。