DB2 HADR的heartbeat检测

DB2的Primary和Standby之间是通过发送心跳信号来检测对方是否存在的 

与此心跳有关的几个db2pd -db xxx -hadr 监控指标 

HEARTBEAT_INTERVAL(seconds) = 30 

HEARTBEAT_MISSED = 0 

HEARTBEAT_EXPECTED = 58588 

HADR_TIMEOUT(seconds) = 120 

                 

需要查看的是 HEARTBEAT_MISSED/HEARTBEAT_EXPECTED的比值 

HADR_TIMEOUT是DB CFG的一个参数,这里设置为 120             

HEARTBEAT_INTERVAL 计算方法: HADR_TIMEOUT/4 = 120/4=30


HEARTBEAT_INTERVAL的最大值是 30秒



推荐的 hadr_timeout 参数设置至少为 60 秒。


HADR_TIMEOUT 推荐值是120 seconds. 计算以后 HEARTBEAT_INTERVAL 是 30 秒. 

设置 hadr_timeout参数时,要考虑网络稳定性和机器响应时间。如果网络拥有不规则或长时间传输延迟,则应使用更长的超时设置。 


每一次心跳,在Primary端都会产生一个 PEER_WINDOW_END值,并且发送到Standby端。 

如果Primary端在 PEER_WINDOW_END之前失败,可以执行一个没有数据损失的故障转移 (TAKEOVER BY FORCE 命令添加了一个 PEER WINDOW ONLY 选项) 


hadr_peer_window设置 >= 响应时间 + 安全 边际 + 心跳间隔 

    其中: 

    响应时间 = 自动化软件探测到失败并调用 HADR 接管的预计时间 

    安全边际 = 5 秒,主 - 备用机器时钟同步的安全边际 

    心跳间隔 = MIN(hadr_timeout值 /4,hadr_peer_window值 /4,30 秒) 


上一篇:【HDU - 5489】Removed Interval(离散化,权值线段树,思维,最长上升子序列)


下一篇:交互式甘特图控件,教你如何使用日历!