You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot内置Tomcat如何调整配置允许单客户端更多连接重试用于压测?

Spring Boot 内嵌Tomcat负载测试专属配置方案

你之前配置的server.tomcat.max-threads是Tomcat处理请求的工作线程数上限,和连接被拒绝没有直接关联。你遇到的1万条请求左右触发连接拒绝,是因为触发了Tomcat默认的最大连接数、单IP连接数限制,或者等待队列满的阈值,可通过以下配置调整:

application.properties 核心配置

  • 调整全局最大连接数:
    server.tomcat.max-connections = 20000
    该参数控制Tomcat同时支持的最大连接数,默认值通常为8192~10000,和你报错的阈值吻合,可根据测试需求调整到预期的并发连接数之上。
  • 放开单IP连接数限制:
    server.tomcat.max-connections-per-ip = 10000
    该参数限制单个客户端IP可建立的最大连接数,默认值通常为100,单客户端发起负载测试必须调高该参数。
  • 调整连接等待队列长度:
    server.tomcat.accept-count = 1000
    当所有工作线程都被占用时,新连接会进入等待队列,队列满之后新连接会被直接拒绝,默认值仅为100,负载测试场景需要大幅调高。
  • 补充工作线程与超时配置:
    # Spring Boot 2.x版本工作线程配置
    server.tomcat.max-threads = 500
    # Spring Boot 3.x版本工作线程配置
    server.tomcat.threads.max = 500
    # 连接超时时间,单位毫秒
    server.tomcat.connection-timeout = 60000
    

配套检查项

  • 先调整操作系统的文件句柄限制,每个TCP连接对应一个文件句柄,Linux默认单个进程仅允许打开1024个文件句柄,远低于负载测试需求,临时调整可执行命令ulimit -n 65535,永久调整需修改/etc/security/limits.conf配置。
  • 可优化Python测试脚本使用HTTP连接池复用连接,减少短连接频繁创建销毁的开销,同时降低连接数占用。

内容的提问来源于stack exchange,提问作者BenW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:48:04