WebSphere MQ 服务器中 DISCINT 和保持活动间隔之间的关系?

Relation between DISCINT and Keep Alive interval in WebSphere MQ server?

我们遇到了很多应用程序在没有正确断开连接的情况下连接到 MQ 服务器的问题。因此,我们在我们的服务器连接通道上引入了 DISCINT,其值为 1800 秒,我们发现它非常适合我们的交易。但是我们的 Keep Alive 间隔非常高,有 900 秒。我们希望按照 mqconfig 实用程序的建议将其减少到 300 以下。但在这样做之前,我想知道这是否会影响我们的断开连接间隔值,以及它是否会覆盖我们的断开连接间隔值并更频繁地断开连接,这将对我们的性能造成影响。

这两个值如何工作以及它们之间的关系如何?

谢谢

TCP KeepAlive工作在协议栈的应用层之下,不影响DISCINT配置的通道断开。 然而,降低该值可能会导致更频繁的断开连接,如果您的网络不可靠,例如间歇性非常短(比当前的 KeepAlive 短,但比新的更长)数据包不流动的时间段。

我认为主要区别在于,DISCINT 用于断开在给定时间段内未使用的技术上有效的通道,而 KeepAlive 用于检测不工作的 TCP 连接。 MQ 也提供了检测应用层不工作连接的方法,由心跳间隔配置。

这些可能有帮助:

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.con.doc/q015650_.htm

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.con.doc/q081900_.htm

http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.con.doc/q081860_.htm