IBM MQ通道重試

MQ故障解決

你們好!網絡

        前段時間在客戶生產平臺部署一套MQ與公司內部的MQ進行數據傳輸,可是發現通道狀態常常retrying。tcp

1、故障的描述

一、ping對端的IP,telnet對端的端口都很正常。spa

二、MQ通道的啓動正常,經過tcpdump host $IP -X -s 0,可以看到TCP的3次握手和MQ通道本身的啓動信息。日誌

三、MQ通道啓動之後,狀態變爲RUNNING,子狀態變爲MQGET。過了5分鐘,發送通道向接受通道發送一個確認包,正常狀況下接受通道應該會有迴應,可是如今並無迴應。部署

四、等待一段時間MQ通道狀態雖然爲RUNNING,可是子狀態已經由MQGET變爲received,說明MQ的發送通道等待接受由接受通道傳回的通道確認信息。select

五、MQ通道啓動以後過9分鐘就會自動關閉,並從新啓動,並在MQ日誌中產生以下內容:數據

2016年09月11日 22時31分02秒 - Process(73971.1) User(mqm) Program(runmqchl) Host(XXXX)
AMQ9259: 來自主機「111.111.111.111(1400)」的鏈接超時。端口

說明:
來自主機「111.111.111.111(1400)」經過 TCP/IP 進行的鏈接超時。
操做:
select() [TIMEOUT] 360 seconds 調用超時。檢查以找到不能在預期時間內接收數據的原
因。改正問題。從新鏈接通道,或者等待重試通道以使其本身從新鏈接。時間

2、緣由

這是因爲客戶的網絡具備鏈接90秒之內無數據傳輸就被端口的網絡限制。ping

3、解決辦法

針對以上的問題,修改MQ發送通道和接受通道的HBINT參數,我把心跳的間隔修改成58秒。

相關文章
相關標籤/搜索