標籤:mongodb mongostat mongodb監控
作為即時監控mongodb的利器,mongostat絕對是一把利刃,簡單好用,不過,要想仔細分析mongostat狀態,還少不了深刻理解每一個監控項的意義。
# mongostatinsert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn set repl time *79 87 *0 *0 0 13|0 0 354g 710g 10.2g 9 0 0 0|0 0|0 9k 666k 483 c56... SEC 15:07:17
下面分析每一項的含義:
inserts/s 每秒插入次數query/s 每秒查詢次數update/s 每秒更新次數
註:10條簡單的查詢可能比一條複雜的查詢速度還快, 所以數值的大小,意義並不大。但至少可以知道,現在是否在處理查詢,是否在插入。如果是slave,數值前往往有一個*, 代表是replicate操作
getmore/s 查詢時遊標(cursor)的getmore操作command/s 每秒的命令數,在主從系統中,會顯示兩個值 (例如:80|0),分別代表 本地|複製 命令的個數
註:一秒內執行的命令數比如批量插入,只認為是一條命令意義不大。如果是slave,會顯示兩個值, local|replicated,通過這兩個數值的比較,或許可以看出點問題。
flushs/s 每秒執行fsync將資料寫入硬碟的次數。
註:一般都是0,或者1,通過計算兩個1之間的間隔時間,可以大致瞭解多長時間flush一次。flush開銷是很大的,如果頻繁的flush,可能就要找找原因了。
mapped/s 所有的被mmap的資料量,單位是MB(這是 在mongostat 最後一次調用的總資料)vsize 虛擬記憶體使用量,單位MB (這是 在mongostat 最後一次調用的總資料)res 實體記憶體使用量,單位MB (這是 在mongostat 最後一次調用的總資料)
註:這個和你用top看到的一樣,mapped, vsize一般不會有大的變動, res會慢慢的上升,如果res經常突然下降,去查查是否有別的程式狂吃記憶體。
faults/s 每秒訪問失敗數(只有Linux有),資料被交換出實體記憶體,放到swap。
註:不要超過100,否則就是機器記憶體太小,造成頻繁swap寫入。此時要升級記憶體或者擴充,大壓力下這個數值往往不為0。如果經常不為0,那就該加記憶體了。
推薦文章:http://huoding.com/2011/08/19/107
locked % 被鎖的時間百分比,盡量控制在50%以下吧
註:MongoDB就一把讀寫鎖,這裡指的是寫鎖所住的時間百分比。這個數值過大(經常超過10%),那就是出狀況了。
idx miss % 訪問載入 btree 節點時需要頁面故障的嘗試的索引百分比。
註:這是一個採樣值。如果太高的話就要考慮索引是不是少了,非常重要的參數, 正常情況下,所有的查詢都應該通過索引,也就是idx miss為0。如果這裡數值較大,是不是缺少索引。
qr 用戶端等待從 MongoDB 執行個體讀取資料的隊列長度。qw 用戶端等待向 MongoDB 執行個體寫入資料的隊列長度。ar 執行讀取操作的主動用戶端的數目。aw 執行寫入操作的主動用戶端的數目。
註:如果這兩個數值很大,那麼就是DB被堵住了,DB的處理速度不及請求速度。看看是否有開銷很大的慢查詢。如果查詢一切正常,確實是負載很大,就需要加機器了。
netIn The amount of network traffic, inbytes, received by the MongoDB instance.This includes traffic from mongostat itself.netOut The amount of network traffic, inbytes, sent by the MongoDB instance.This includes traffic from mongostat itself.
註:網路頻寬壓力,一般MongoDB,網路不會成為瓶頸
conn 開啟串連的總數。
註: MongoDB為每一個串連建立一個線程,線程的建立和釋放也是有開銷的。盡量不要讓這個數值很大。
set 複本集的名稱。repl 節點的複製狀態。
註:
M - master
SEC - secondary
REC - recovering
UNK - unknown
SLV - slave
time 時間戳記
推薦文章;http://www.cnblogs.com/zhuque/archive/2013/03/29/2988577.html
本文出自 “一個奮鬥的小營運” 部落格,請務必保留此出處http://yucanghai.blog.51cto.com/5260262/1705155
mongodb之mongostat 的欄位含義解析