使用Gatling的gatling-mqtt插件做Thingsboard性能测试无响应求助
问题排查方向
- 版本不兼容
gatling-mqtt插件与Gatling核心框架必须严格匹配大版本,版本不匹配会导致插件逻辑无法正常调度,出现虚拟用户一直处于active状态、无任何执行动作也无报错的情况。你可以先核对当前使用的Gatling核心版本与gatling-mqtt插件的适配版本是否一致,跨大版本使用出现该问题的概率极高。 - MQTT连接链路异常
脚本中配置的broker地址、端口、认证信息错误,或者环境存在防火墙、安全组拦截,都会导致MQTT连接请求被静默丢弃。你可以先用通用MQTT客户端工具,使用脚本内完全一致的连接参数尝试连接broker,验证链路连通性。如果使用的是WS/WSS协议的MQTT,还要额外检查连接路径配置是否正确。 - 脚本逻辑配置错误
检查示例脚本是否缺失核心执行步骤:比如漏写connect动作、发布/订阅的topic不符合broker规则、用户注入逻辑配置错误导致虚拟用户卡在初始化阶段。如果脚本使用了异步执行逻辑但未正确设置回调等待条件,也会出现任务一直处于活跃状态但无实际执行结果的情况。 - 日志级别配置问题
你当前看到的只有控制台统计输出,无详细报错是因为Gatling默认日志级别较高,不会打印插件底层的运行细节。你可以修改项目中的logback配置文件,将io.gatling.mqtt、io.netty相关包的日志级别调整为DEBUG,就能看到底层连接、请求的具体报错信息,快速定位问题。 - 依赖冲突
如果项目中同时引入了其他MQTT客户端、Netty相关依赖,可能会和gatling-mqtt自带的依赖产生冲突,导致底层IO逻辑无法正常执行。你可以通过依赖树命令排查冲突的依赖项,排除重复冲突的依赖即可恢复正常。
内容的提问来源于stack exchange,提问作者Ric
相关产品推荐
相关产品推荐

