![](https://img.haomeiwen.com/i7153774/84424a435455e190.png)
默认配置不能满足我们的并发请求,我们需要修改配置来处理并发。修改application.properties文件,内容如下(tomcat配置和服务器配置有关):
server.port=8080
server.tomcat.accept-count=1000
server.tomcat.max-connections=10000
server.tomcat.max-threads=500
server.tomcat.min-spare-threads=100
![](https://img.haomeiwen.com/i7153774/9e7e14956dd96905.png)
然后杀掉java进程重新启动项目
![](https://img.haomeiwen.com/i7153774/9acc5718bbc82d02.png)
使用命令“pstree -p 9768 | wc -l”查看java项目的线程或进程数
![](https://img.haomeiwen.com/i7153774/32fe9df0faf4cbc6.png)
![](https://img.haomeiwen.com/i7153774/084278989cbe72ed.png)
为了更好的利用资源,保护系统不受客户端连接拖累,我们新增WebServerConfiguration.java文件
import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;
/**
* Created by hzllb on 2019/2/6.
*/
//当Spring容器内没有TomcatEmbeddedServletContainerFactory这个bean时,会吧此bean加载进spring容器中
@Component
public class WebServerConfiguration implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
@Override
public void customize(ConfigurableWebServerFactory configurableWebServerFactory) {
//使用对应工厂类提供给我们的接口定制化我们的tomcat connector
((TomcatServletWebServerFactory)configurableWebServerFactory).addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
//定制化keepalivetimeout,设置30秒内没有请求则服务端自动断开keepalive链接
protocol.setKeepAliveTimeout(30000);
//当客户端发送超过10000个请求则自动断开keepalive链接
protocol.setMaxKeepAliveRequests(10000);
}
});
}
}
网友评论