rabbitmq 消息队列堆积问题

项目遇到mongo数据恢复的问题,首先我从原项目中将数据导出,然后恢复到指定的服务器,以为就好了。

但是遇到一个 问题,就是rabbitmq的消息队列出现了消息堆积,刚开始我以为是rabbitmq服务的问题,但是消息队列偶尔又会出现一两次被消费的情况。

这时我查看系统的cup的使用率,发现mongo这个进程的使用率很高,内存使用率也很高,这时,我使用命令db.currentOp()查看Mongo在执行的任务,发现它总是从一张表中进行了全局扫描,使用命令db.<集合名称>.storageSize()查看这张表的大小,发现居然有30多个G的数据量。然后百度了一下,具体的原因如下:

mongo占有cpu和内存资源很高,导致磁盘的读写率降低,从而导致消息队列堆积的问题,此时,我对这张表建立了索引操作,完成以后,cpu和内存明显降低,消息队列也不再出现消息堆积的问题。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章