单机高频率发送 客户端qos=2 连接被重置

EMQX 版本

EMQX 4.3

EMQX 安装部署方式

本地安装启动

EMQX 集群情况

单节点

服务器(运行 EMQX 的机器)硬件配置

8核16g Intel(R) Core™ i5-10210U CPU @ 1.60GHz 2.11 GHz

服务器操作系统和平台

win10

服务端参数优化情况

默认配置

压力机硬件配置

压力机使用的测试工具

jmeter

压力机参数优化情况

在 EMQX 中启用的功能

无特殊

测试场景

单机压力测试使用10000线程 1s内并发 qos2

具体问题

当发送一段时间消息后连接被重置,抓包如下。

是不是broker没法收到ack 就断开连接了?如何进行配置优化,还请大佬们赐教。

顶一下

您好,EMQX 的日志可以贴一下,分析日志可以获取更多有用信息。
另外使用 emqtt_bench 试过么 :eyes:


zone.external.max_awaiting_rel=100 会出现上图情况
更改zone.external.max_awaiting_rel=0 不会出现上图日志,连接也不会被重置。

long_schedule 表明当前这个客户端的进程已经非常忙了
另外 awaiting_rel is full 也表明当前客户端已经处理不过来这么多的 qos2 消息。

看您目前的压力测试方案,是在同一个 MQTT 连接中发送大量报文。
实际使用中不会这样的,可以更改方案为多个客户端同时发送报文来进行压力测试。