msg lost due to reach the limit of lmq

我在压测日志中出现


我该如何优化调整参数

飞行窗口满了,

mqtt = {
max_packet_size = 1KB # Maximum packet size NanoMQ can accept and send, 1B~260MB.
max_mqueue_len = 2048 # Maximum length of the in-flight window queue
retry_interval = 10s # Retry interval for QoS 1/2 message delivering
keepalive_multiplier = 1.25 # Multiplier for MQTT keepalive timeout.
property_size = 32 # Maximum size for a MQTT user property.
}

增大 max_mqueue_len, 以前这个参数叫做msq_len.
压测的话 taskq和parallel两个参数也有显著影响

好的,我调整下

是因为客户端消费能力不足,导致队列长度变满的吗?

目前的配置是这样的

机器配置: 4c8g
消息体: 2kb
最大达到1500/s

调整好的参数
image
报错信息如下

4c 8g 只能到1500的话
肯定是客户端/网络带宽限制了性能和吞吐。这压力CPU都只用了不到1c吧?

尝试用emqtt bench 测试吧

还有,你这线程开的太多了… 和CPU超线程数一样就行,多看文档

压测参数


压到7000,出现这些

配置是这样的

最大到1500,这个是联合消费端报错,the limit of lmq, connection shutdown, 是因为客户端消费能力不足,导致队列长度变满的吗?

the limit of lmq, connection shutdown, 是因为客户端消费能力不足,导致队列长度变满的吗?
是,更准确地说是pub速度大于sub速度。

log显示的是parallel给的太小

好的,明白