Spring Boot 内置 Tomcat Web 容器,一般在实际操作中,采用默认配置,但是也可以根据实际情况调优内置容器,以提高服务性能。
常用参数
下面列出了 Spring Boot Tomcat 常用的配置参数:
- server.port = 8080
- 服务对外提供的端口,默认 8080。
- server.tomcat.max-threads = 200
- 最大线程数,每接到一个 http 请求,tomcat 都会对应一个线程来处理该请求,最大线程数决定了 web 服务的最大并发处理能力,默认 200。该配置项结合当前应用的内核内存信息进行调参,1 核 2g 内存建议配置为 200,按照该参照值,2 核 4g 内存建议配置为 400,以此类推,4 核 8g 内存为 800,8 核 16g 内存为 1600,但是这些都是推荐建议,需要和实际业务及压测结果结合在一起使用。
- server.tomcat.accept-count = 100
- 最大等待数,当请求数达到 tomcat 最大线程数时,新的请求会放在等待队列中,该参数就是能够接收的最大等待数,默认是 100,如果等待队列也满了,tomcat 就会拒绝新的请求(connection refused)。一般情况下,该参数和 max-threads 一起调整,调优设置建议最大线程数的 0.5 倍到 1.0 倍,如果设置过大,请求等待可能会很长,如果设置过小,请求可能立马返回 connection refused。