JMeter本地压测Spring WebFlux WebClient遇连接拒绝及地址占用问题咨询
测试架构
/get /process JMeter -> Service 1 -> Service 2->| waits for <- <- <-| 300ms
JMeter调用Service 1的/get接口,该接口会进一步调用Service 2的/process接口。注:Service 1与Service 2共享同一代码库,仅调用不同接口。/process接口会等待500ms模拟业务处理,随后返回200状态码。
负载配置
使用JMeter配置约300个并发用户,逐步递增负载,测试总时长约5分钟。
测试报错信息
1693684499199,0,Non-blocking Request,Non HTTP response code: org.apache.http.conn.HttpHostConnectException,"Non HTTP response message: Connect to localhost:9090 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect",jp@gc - Ultimate Thread Group - 300 Users 1-32,text,false,,2825,0,256,256,http://localhost:9090/get?delay=300&block=false,0,0,0
1693684516528,670,Non-blocking Request,Non HTTP response code: java.net.BindException,Non HTTP response message: Address already in use: connect,jp@gc - Ultimate Thread Group - 300 Users 1-118,text,false,,2521,0,183,183,http://localhost:9090/get?delay=300&block=false,0,0,670
已尝试的解决方法
- 增加Tomcat最大线程数
- 修改Windows注册表中的MaxUserPort参数
疑问
当前负载配置是否超出本地环境承载能力?将服务和/或JMeter部署到独立机器是否更合适?
内容的提问来源于stack exchange,提问作者user1927638

