官术网_书友最值得收藏!

5.6 小技巧——檢查復(fù)制的延遲情況

由于分布式環(huán)境中的各種不確定性,因此對副本集的成員狀態(tài)、復(fù)制延遲狀態(tài)進(jìn)行檢查就變得非常重要。

1.rs.status命令

MongoDB對復(fù)制成員的監(jiān)視可以使用rs.status命令,我們可以登錄任一節(jié)點進(jìn)行查詢,代碼如下:

members一列體現(xiàn)了所有副本集成員的狀態(tài),主要如下。

● health:成員是否健康,通過心跳進(jìn)行檢測。

● state/stateStr:成員的狀態(tài),PRIMARY表示主節(jié)點,而SECONDARY則表示備節(jié)點,如果節(jié)點出現(xiàn)故障,則可能出現(xiàn)一些其他的狀態(tài),例如RECOVERY。

● uptime:成員的啟動時間。

● optime/optimeDate:成員最后一條同步oplog的時間。

● optimeDurable/optimeDurableDate:成員最后一條同步oplog(寫入Journal日志)的時間。

● pingMs:成員與當(dāng)前節(jié)點的ping時延。

● syncingTo:成員的同步來源。

2.查看復(fù)制延遲

如果希望查看當(dāng)前節(jié)點oplog的情況,則可以使用rs.printReplicationInfo命令,代碼如下:

這里清晰地描述了oplog的大小、最早一條oplog以及最后一條oplog的產(chǎn)生時間,log length start to end所指的是一個復(fù)制窗口(時間差)。通常在oplog大小不變的情況下,業(yè)務(wù)寫操作越頻繁,復(fù)制窗口就會越短。

在節(jié)點上執(zhí)行rs.printSlaveReplicationInfo命令,可以一并列出所有備節(jié)點成員的同步延遲情況,代碼如下:

主站蜘蛛池模板: 东兰县| 南江县| 洞口县| 平陆县| 郯城县| 青神县| 报价| 克拉玛依市| 鲁山县| 焉耆| 营口市| 安新县| 张北县| 鸡东县| 辽阳市| 灵寿县| 临泽县| 天水市| 通海县| 开江县| 奉贤区| 岫岩| 平塘县| 沈丘县| 庆云县| 曲阳县| 蒲城县| 日土县| 溆浦县| 汉川市| 台东县| 睢宁县| 千阳县| 新田县| 陵川县| 长兴县| 吉林市| 拉萨市| 江油市| 新宁县| 宜宾县|