mongoDB之監控工具mongostat

來源:互聯網
上載者:User

mongostat是mongdb內建的狀態偵查工具,在命令列下使用。它會間隔固定時間擷取mongodb的當前運行狀態,並輸出。如果你探索資料庫突然變慢或者有其他問題的話,你第一手的操作就考慮採用mongostat來查看mongo的狀態。

mongostat命令格式,當然也可以加參數:

在第一個例子中,mongostat將返回資料的每一秒,持續20秒。 mongostat收集資料的mongod執行個體上啟動並執行本地主機介面連接埠27017。以下所有調用產生相同的行為:mongostat -rowcount 20 1mongostat -rowcount 20mongostat -N 20 1mongostat -N 20在下面的例子中,mongostat返回的資料每5分鐘(300秒),只要在程式運行。 mongostat收集資料的mongod執行個體上啟動並執行本地主機介面連接埠27017。以下兩種調用產生相同的行為。mongostat - rowcount 0 300mongostat -N 0 300mongostat 300在下面的例子中,mongostat返回的資料每5分鐘一個小時(12次)。mongostat收集資料的mongod執行個體上啟動並執行本地主機介面連接埠27017。以下兩種調用產生相同的行為。mongostat -rowcount 12 300mongostat -N 12 300在許多情況下,使用 -discover將協助整組機器的狀態,提供更完整的快照。如果Mongos的過程中,串連到一個片式叢集上運行在本地機器上的連接埠27017,你可以使用下面的形式從群集中的所有成員返回統計:

mongostat -discover

以上參考文檔:http://cn.docs.mongodb.org/manual/reference/mongostat/ 

 

 主要詳細說明一下各列的意義(也可以參考./mongostat --help)

insert:     一秒內的插入數query :     一秒內的查詢數update:     一秒內的更新數delete:     一秒內的刪除數  10條簡單的查詢可能比一條複雜的查詢速度還快, 所以數值的大小,意義並不大。  但至少可以知道,現在是否在處理查詢,是否在插入。  如果是slave,數值前往往有一個*, 代表是replicate操作 getmore:    查詢時遊標(cursor)的getmore操作  用處不大    www.2cto.com  command:    一秒內執行的命令數  比如批量插入,只認為是一條命令。 意義不大。  如果是slave,會顯示兩個值, local|replicated,通過這兩個數值的比較,或許可以看出點問題。  flushes:    一秒內flush的次數   一般都是0,或者1,通過計算兩個1之間的間隔時間,可以大致瞭解多長時間flush一次。  flush開銷是很大的,如果頻繁的flush,可能就要找找原因了。    mapped:     vsize:res:  這個和你用top看到的一樣,mapped, vsize一般不會有大的變動, res會慢慢的上升,如果res經常突然下降,去查查是否有別的程式狂吃記憶體。  faults:  別被這個名字嚇著,大壓力下這個數值往往不為0。如果經常不為0,那就該加記憶體了。  locked:  MongoDB就一把讀寫鎖,這裡指的是寫鎖所住的時間百分比。這個數值過大(經常超過10%),那就是出狀況了。  idx miss:  非常重要的參數, 正常情況下,所有的查詢都應該通過索引,也就是idx miss為0。如果這裡數值較大,是不是缺少索引。  qr|qw: queue lengths for clients waiting (read|write)ar|aw: active clients (read|write)  如果這兩個數值很大,那麼就是DB被堵住了,DB的處理速度不及請求速度。  看看是否有開銷很大的慢查詢。如果查詢一切正常,確實是負載很大,就需要加機器了。  netIn: network traffic in - bitsnetOut: network traffic out - bits  網路頻寬壓力,一般MongoDB,網路不會成為瓶頸 conn: number of open connections  MongoDB為每一個串連建立一個線程,線程的建立和釋放也是有開銷的。盡量不要讓這個數值很大。 repl: 伺服器目前狀態    M   - master    SEC - secondary    REC - recovering    UNK - unknown    SLV - slave    time: 目前時間

 如果在windows下的cmd視窗中執行mongostat命令時,可能由於視窗太窄,監控資料排列較亂而阻礙視覺的情況,大家可以把結果輸出到一個txt檔案中,然後去查看這個檔案,辦法是曲折了一些哈哈。

E:\mongodb-win32-x86_64-2.2.1\bin\mongostat -n 2 > E:\test.txt 

 列印2行結果到E盤的跟目錄下的test.txt中。

參考文檔:http://cn.docs.mongodb.org/manual/reference/mongostat/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.