报文大小设置不生效

环境

  • EMQX 版本:5.0.26
  • 操作系统版本:

重现此问题的步骤

  1. 在web页面下修改了报文大小为2m,但是在配置文件中发现还是1m

我这是集群模式,请问我该怎么修改报文大小

预期行为

实际行为


客户端在发送1.2m大小的报文时总是会被强迫下线

你好,简单来说,这是由于当前配置的优先级设计带来的问题:

etc/emqx.conf 的优先级永远高于 从Dashboard配置的 即,只要一个配置在 etc/emqx.conf 配置过了,那它就是要生效的。所以要么建议直接修改配置文件,或者这俩者配置方式只用其中一种

现在是没生效 我发现最大只能发送64k,但是我已经配置2m了

通过什么地方配置的 2M?

最大报文大小 图片上的

我这里不是提到过了么,Dashboard 修改的配置优先级会低于 emqx.conf ,所以你得看看 emqx.conf 的设置,例如:

mqtt {
  max_packet_size = 1MB
}

这样配置的话,就是最大就只能支持 1 MB

你好我现在有三个问题 1.我现在用的5.0.26版本 emqx.conf 配置没有这个


2.图中这个报文大小是不是就是你说的max_pack_size 我设置了没生效

3.集群下修改emqx.conf的配置,我是修改node1还是修改node2 才会生效。还是两个都要修改

  1. 如果 emqx.conf 配置没有 mqtt.max_packet_size 的配置,那就是以 Dashboard 修改的为准
  2. 通过 Dashboard 的修改会在整个集群生效的,不用每个节点都改。

建议:

  1. 如果修改了发现客户端还是报错,建议看看 EMQX 的日志,看报错的原因是否是由于最大报文限制导致的
  2. 在 Dashboard 修改完后,尝试使用 ./bin/emqx ctl conf show mqtt 看下生效配置中该配置项的值是多少


查看状态的命令不支持

抱歉,没发现你使用的 5.0 的版本。

那看下 data/configs/cluster.hocon 这个文件的全文

server-admin1.zip (998.2 KB)
你好这是日志,我没发现有错误的日志,可以帮我看看吗,我发送了一个大小为1.2m左右的文件,就会发现断线

但是你的发的日志里没有客户端断开的日志?

是没有断线的日志,我用日志追踪也没发现断线日志 只有上线日志

那还是难以知道断线的原因,按理 EMQX 的 Log Trace 是能看到这些断线的日志才对。日志是全的么?来回多测试几次,重新追踪下。

方便的话,在用 tcpdump 或 wireshark 抓下这个链接的数据报文


我现在连接你们的broker.emqx.io 这个发送

unito.bin这个文件 也会报错 。