Spring Boot 教程

Spring Boot 笔记

Spring Boot Tomcat 配置及调优详解

Spring Boot 内置 Web 容器详解 Spring Boot 内置 Web 容器详解


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。