RabbitMQ内存泄露问题

近一周发现RabbitMQ有性能问题,即内存占用太高,导致超过了原本的安全线

最后,会导致外面的消息进不来,从而导致系统不可用

参考文章《RabbitMQ内存消耗》知道其中消耗的资源包含,特别是其中RabbitMQ的连接和Channel都会导致资源占用过高

 然后再对照我系统中的情况进行分析,发现确实是连接和Channel占用了太多的资源,而且Connection和Channel的数量在持续上升中(每次转发一条消息都需要创建Connection和Channel)

最后定位到,我在某个发送消息后,并没有关闭连接和Channel,导致资源消耗

修改代码为,请注意,这里需要先关闭Channel,再关闭Connection,不然会引起Channel的错误。

调整完代码后并运行一个晚上后,RabbitMQ服务器占用的内存已经维持在一个很低的数值,说明该功能已经起到效果 

猜你喜欢

转载自www.cnblogs.com/weschen/p/12751107.html
今日推荐