暗无天日

=============>DarkSun的个人博客

高并发导致获取MQCONN连接失败

症状

收到某系统的短信通知有异常情况出现,查看应用日志发现提示 Get MQCONN failed,Can no connect to MQ Server(2537)

通过检查MQ错误日志,发现MQ提示 MQ9513 Maximum number of channels reached

原因

每一个客户端MQCONN连接.会创建一个连接实例,产生一个连接通道. 而缺省MQ允许运行的最大通道个数为100. 当超过这个通道个数时就会提示该错误.

解决方案

需要增大MQ最大连接通道个数和最大活跃连接通道个数

  1. 停止MQ队列管理器

    endmqm -i mqgr
    
  1. 修改MQ队列管理器配置

    vi /var/mqm/qmgrs/mqgr/qm.ini
    

    新增以下内容后保存

    CHANNELS:
       MaxChannels=600
       MaxActiveChannels=600  
    
  2. 启动MQ队列管理器(使修改生效)

    strmqm mqgr