MongoDB 監控
在你已經安裝部署並允許MongoDB服務後,你必須要了解MongoDB的運作情況,並查看MongoDB的效能。這樣在大流量得情況下可以很好的應對並保證MongoDB正常運作。
MongoDB中提供了mongostat 和 mongotop 兩個指令來監控MongoDB的運作情況。
mongostat 指令
mongostat是mongodb自帶的狀態偵測工具,在指令列下使用。它會間隔固定時間取得mongodb的目前運作狀態,並輸出。如果你發現資料庫突然變慢或有其他問題的話,你第一手的操作就考慮採用mongostat來查看mongo的狀態。
啟動你的Mongod服務,進入到你安裝的MongoDB目錄下的bin目錄, 然後輸入mongostat指令,如下所示:
D:\set up\mongodb\bin>mongostat
以上指令輸出結果如下:
mongotop 指令
mongotop也是mongodb下的一個內建工具,mongotop提供了一個方法,用來追蹤一個MongoDB的實例,查看哪些大量的時間花在讀取和寫入資料。 mongotop提供每個集合的水平的統計數據。預設情況下,mongotop傳回值的每一秒。
啟動你的Mongod服務,進入到你安裝的MongoDB目錄下的bin目錄, 然後輸入mongotop指令,如下所示:
D:\set up\mongodb\bin>mongotop
以上指令執行輸出結果如下:
#帶參數實例
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop 10##後面的10是
<sleeptime>參數,可以不使用,等待的時間長度,以秒為單位,mongotop等待呼叫之間。通過的預設mongotop返回資料的每一秒。
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop --locks報告每個資料庫的鎖的使用中,使用mongotop - 鎖,這將產生以下輸出:輸出結果欄位說明:
ns:
包含資料庫命名空間,後者結合了資料庫名稱和集合。db:
包含資料庫的名稱。名為 . 的資料庫針對全域鎖定,而非特定資料庫。total:
mongod花費的時間工作在這個命名空間提供總額。read:
提供了大量的時間,這mongod花費在執行讀取操作,在此命名空間。write:
提供這個命名空間進行寫入操作,這mongod花了大量的時間。