ibm-mq - WebSphere MQ 服务器中 DISCINT 和 Keep Alive 间隔之间的关系?

标签 ibm-mq keep-alive

我们遇到了许多应用程序连接到 MQ 服务器而没有正确断开连接的问题。因此,我们在服务器连接 channel 上引入了 DISCINT,其值为 1800 秒,我们发现这对于我们的交易来说是理想的选择。但我们的 Keep Alive 间隔相当高,为 900 秒。我们希望按照 mqconfig util 的建议将其减少到 300 以下。但在这样做之前,我想知道这是否会影响我们的断开连接间隔值,以及它是否会覆盖我们的断开连接间隔值并进行更频繁的断开连接,这会对我们的性能造成影响。

这两个值如何发挥作用以及它们如何相关?

谢谢

最佳答案

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

我认为主要区别在于,DISCINT 用于断开技术上工作的 channel ,该 channel 在给定时间内不使用,而 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

关于ibm-mq - WebSphere MQ 服务器中 DISCINT 和 Keep Alive 间隔之间的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31167124/

相关文章:

c++ - 使用 C++ API 将 mq 客户端连接到具有加密 channel 的 mq 服务器

.net使用IBM MQ,而没有完整的MQ客户端安装

java - Axis Web 服务保持 Activity 状态

http - 需要元标记使用浏览器超时保持事件

ios - NSStream TCP 保活 iOS

java - Java 8 和 MQ 升级 - NoClassDEfFoundError

ibm-mq - 为什么我的 MQ 中的 CCSID 显示为 0?

ibm-mq - WebSphere MQ 接收器 channel 已暂停

c# ping 一个网站? (保活服务)

c# - Keep-Alive 出现在 Debian/Mono 的 HTTP header 中 - 而不是 Windows