在Debian上排查RabbitMQ性能瓶颈可从以下方面入手:
systemctl status rabbitmq-server确认服务运行状态,用netstat -tuln | grep 5672(默认AMQP端口)或ss -tuln | grep 5672检查端口监听情况。/var/log/rabbitmq/目录下的日志文件,通过tail -f实时监控,搜索error、flow control等关键词定位异常。free -m查看内存使用,df -h检查磁盘空间,确保内存充足且磁盘未满。/etc/rabbitmq/rabbitmq.conf中vm_memory_high_watermark(内存高水位线,默认0.4,可适当调高至0.6~0.8)。prefetch count(预取计数)是否合理,避免消费者积压未确认消息。tracing),减少资源占用。rabbitmq-plugins enable rabbitmq_management),通过Web界面查看队列长度、消费者数量、消息吞吐量等。rabbitmqctl命令:rabbitmqctl status查看节点状态,rabbitmqctl list_queues查看队列详情,rabbitmqctl list_connections查看连接数。rabbitmq-munin插件,通过munin生成性能图表。ping、traceroute测试网络延迟,iftop/nethogs查看带宽占用,确保客户端与Broker在同一局域网。rabbitmqctl cluster_status检查节点状态,确认节点间通信正常,无Cookie不一致或端口阻塞问题。rabbitmqctl list_queues查看messages_ready,若持续增长,需增加消费者或优化处理逻辑。top/htop查看CPU负载,iostat -x 1查看磁盘I/O,若磁盘I/O高,可考虑使用SSD或启用Lazy Queue。Publisher Confirms确保消息可靠投递,合理设置消息持久化策略。Stream Queue或分片队列提升吞吐量。参考来源:[1,2,3,4,6,7,8,9,10,11]