EMQ X 可以从连接、发布层面进行速率限制,避免因客户端频繁上下线、单个客户端无限制发布消息造成服务器波动。
打开配置文件
字节流限制
- rate: 每秒连接速率;
listener.tcp.external.rate_limit = 1024,4096
:配置external
域下 TCP 连接速率;listener.tcp.internal.rate_limit = 1000000,2000000
:配置internal
域下 TCP 连接速率;listener.ssl.external.rate_limit = 1024,4096
:配置external
域下 TCP SSL/TLS 连接速率;listener.ws.external.rate_limit = 1024,4096
:配置 域下 WebSocket 连接速率;listener.wss.external.rate_limit = 1024,4096
:配置external
域下 WebSocket SSL/TLS 连接速率。
连接速率限制
listener.tcp.internal.max_conn_rate = 1000
: 配置internal
域下 TCP 连接速率;listener.ssl.external.max_conn_rate = 500
: 配置external
域下 TCP SSL/TLS 连接速率;- : 配置
external
域下 WebSocket 连接速率; listener.wss.external.max_conn_rate = 1000
: 配置external
域下 WebSocket SSL/TLS 连接速率。
PUB 速率限制
打开配置文件 etc/emqx.conf
配置项为 rate,timerange
组合,时间范围支持s,m,h
。
zone.external.publish_limit = 10,1m
:配置external
域下每个客户端 PUB 速率限制。