第14章 性能调优指南14.1 性能瓶颈分析CPU内存网络磁盘性能问题瓶颈类型?计算密集内存不足带宽限制IO瓶颈增加CPU优化算法增加内存限制队列增加带宽压缩消息SSD磁盘减少持久化14.2 连接数优化# 系统限制# /etc/sysctl.confnet.core.somaxconn65535net.ipv4.tcp_max_syn_backlog8192net.ipv4.ip_local_port_range102465535# Mosquitto配置max_connections10000# 文件描述符ulimit-n6553514.3 内存优化内存使用连接会话消息队列保留消息系统开销限制会话数限制队列大小限制保留数量优化配置优化配置# 限制内存使用max_queued_messages100max_inflight_messages20max_inflight_bytes0max_queued_bytes0# 持久化客户端过期persistent_client_expiration 1d# 保留消息限制# (Mosquitto 2.x 自动限制)14.4 CPU优化# CPU亲和性# taskset绑定CPUtaskset-c0,1mosquitto-c/etc/mosquitto/mosquitto.conf# 多进程(多个实例)listener1883listener1884listener1885性能测试# 使用mqtt-benchmarkmqtt-benchmark-c1000-s1024-ttest# 使用jmeter# 配置MQTT插件进行压测14.5 网络优化网络优化TCP调优缓冲区优化压缩TCP_NODELAYTCP_FASTOPENsocket buffer消息大小压缩payload批量发送网络参数配置# /etc/sysctl.confnet.core.rmem_max134217728net.core.wmem_max134217728net.ipv4.tcp_rmem40968738067108864net.ipv4.tcp_wmem40966553667108864net.ipv4.tcp_window_scaling114.6 消息吞吐优化# 禁用不必要的日志log_type error log_type warning# 移除 information 和 notice# 优化QoS# 大部分场景使用QoS 0或1# 批量发布# 合并小消息14.7 性能基准硬件配置性能指标连接数消息/秒延迟1万10万10ms14.8 本章小结掌握了Mosquitto性能优化的方法和技巧。