以下是提升CentOS消息队列性能的关键措施,需根据具体消息中间件(如RabbitMQ、Kafka等)选择适配方案:
ulimit -n 65535,并修改/etc/sysctl.conf永久生效。net.core.somaxconn(连接队列长度)、net.ipv4.tcp_tw_reuse(快速复用TIME-WAIT连接)。vm.swappiness(避免频繁swap)至1-10。prefetch count(消费者预取数量),避免消息堆积。Publisher Confirms确保消息可靠投递,关闭非必要持久化以提升吞吐量。num.queues和num.channels限制,避免资源耗尽。replication.factor)设为2-3,平衡可靠性和性能。batch.size(如1MB)和linger.ms(如100ms),启用压缩(compression.type=lz4)。fetch.max.bytes和max.poll.records,减少拉取次数。log.dirs配置多磁盘路径分散I/O压力。net.core.rmem_max/wmem_max增大缓冲区。kafka-consumer-groups或rabbitmqctl命令查看消费者状态和积压情况。| 中间件 | 核心优化点 | 参考来源 |
|---|---|---|
| RabbitMQ | 预取计数、持久化策略、内存隔离 | |
| Kafka | 分区数、副本因子、批量处理、JVM调优 | |
| ActiveMQ | 生产者流控、消费者并发、内存分配策略 |
注意:优化前需在测试环境验证配置有效性,避免生产环境直接调整导致异常。优先通过监控定位瓶颈(如CPU、磁盘I/O、网络延迟),再针对性调整参数。