mongostat 是 MongoDB 自帶的即時性能監控工具,類似 vmstat,每秒採樣關鍵指標(插入/查詢/更新/刪除/獲取更多/命令/刷新/映射/虛擬記憶體/重掃/佇列/連接數等)。
mongostat 10.80.1.1:27018
mongostat --host rs0/10.80.1.1:27018,10.80.1.2:27018,10.80.1.3:27018 \
--username youruser --password yourpassword \
--authenticationDatabase admin
--host 格式:副本集名/節點1,節點2,節點3mongostat 10.80.1.1:27017
直接連接 mongos 端口,可看到整個分片集群的聚合統計。
| 欄位 | 含義 | 關注閾值 |
|---|---|---|
| insert/query/update/delete | 每秒寫/讀/改/刪操作數 | 業務基線對比 |
| getmore | 游標批次獲取數 | 高值可能意味著批次過小 |
| command | 管理命令數 | 異常峰值需排查 |
| flushes | fsync 刷盤次數 | 配合 journal 觀察 |
| mapped | 內存映射大小 (MB) | 接近物理記憶體時警惕 |
| vsize | 虛擬記憶體大小 | 遠大於 mapped 可能有洩漏 |
| res | 常駐記憶體 | 核心指標 |
| faults | 頁面錯誤/秒 (僅 Linux) | 持續高值 = 內存壓力大 |
| qr/qw | 讀/寫佇列長度 | >0 表示有等待線程 |
| ar/aw | 活躍讀/寫客戶端 | 連接池飽和度參考 |
| conn | 當前連接數 | 接近 maxIncomingConnections 需擴容 |
mongostat 整合至監控系統(Prometheus + Grafana / Datadog / Zabbix),持久化歷史趨勢。faults > 100、conn > 80% max、qr+qw > 10。