你说的是 max_mqueue_len,这个默认是 1000,如文档所说:每一个客户端在 emqx 内部都有一个 message queue,如果他累积的到 1000,再来 1001 个时,他会把最开始的那一个丢弃掉,然后入队,不会主动断开客户端。
他的配置叫max_mqueue_len:
./bin/emqx ctl conf show mqtt
mqtt {
await_rel_timeout = "300s"
client_attrs_init = []
clientid_override = disabled
exclusive_subscription = false
idle_timeout = "15s"
ignore_loop_deliver = false
keepalive_check_interval = "30s"
keepalive_multiplier = 1.5
max_awaiting_rel = 100
max_clientid_len = 65535
max_inflight = 32
max_mqueue_len = 1000
max_packet_size = "1MB"
max_qos_allowed = 2
max_subscriptions = infinity
max_topic_alias = 65535
max_topic_levels = 128
message_expiry_interval = infinity
mqueue_default_priority = lowest
mqueue_priorities = disabled
mqueue_store_qos0 = true
peer_cert_as_clientid = disabled
peer_cert_as_username = disabled
response_information = ""
retain_available = true
retry_interval = infinity
server_keepalive = disabled
session_expiry_interval = "2h"
shared_subscription = true
shared_subscription_initial_sticky_pick = random
shared_subscription_strategy = round_robin
strict_mode = false
upgrade_qos = false
use_username_as_clientid = false
wildcard_subscription = true
}
但是您日志里面的错是mailbox_overflow
,这个和上面的没有关系:
他的配置是 max_mailbox_size
./bin/emqx ctl conf show force_shutdown
force_shutdown {
enable = true
max_heap_size = "32MB"
max_mailbox_size = 1000
}