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花了大量的時間。