MongoDB部署

當準備MongoDB部署時,應該嘗試瞭解應用程序如何在生產中的作用和位置。 開發一種一致,可重複的方法來管理部署環境是一個好辦法,以便在生產過程中儘可能減少錯誤。

最好的方法包括原型設置,進行負載測試,監控關鍵指標,並使用該信息來擴展設置。 該方法的關鍵部分是主動監控整個系統 - 這將有助於瞭解生產系統在部署前如何維持,並確定需要添加容量的位置。 例如,瞭解內存使用中的潛在峯值時可能有助於在寫入之前鎖定。

爲了監控部署,MongoDB提供了以下一些命令 -

mongostat

此命令檢查所有運行的mongod實例的狀態,並返回數據庫操作的計數器。 這些計數器包括插入,查詢,更新,刪除和遊標。 命令還顯示遇到頁面錯誤,並顯示鎖定百分比。這可以用來監控內存不足,寫入容量或出現性能問題。

要運行命令,首先要啓動mongod實例。 在另一個命令提示符下,轉到 mongodb 安裝的bin目錄,然後鍵入:mongostat

D:\Program Files\MongoDB\Server\3.4\bin> mongostat

以下是命令的輸出 -

MongoDB部署

mongotop

此命令跟蹤並報告基於集合的 MongoDB 實例的讀寫活動。 默認情況下,mongotop會在每秒鐘內返回信息,但是可相應地更改信息。應該檢查此讀寫活動是否符合您的應用意圖,並且要一次對數據庫發出太多的寫入操作,從磁盤讀取的頻率太高,或者超出了工作集合大小。

要運行命令,請啓動 mongod 實例。 在另一個命令提示符下,轉到 mongodb 安裝的bin目錄,然後鍵入:mongotop

D:\Program Files\MongoDB\Server\3.4\bin> mongotop

以下是命令的輸出 -

yiibai@ubuntu:~/mongobak$ mongotop
2017-07-02T18:27:23.485-0700    connected to: 127.0.0.1

                  ns    total    read    write    2017-07-02T18:27:24-07:00
  admin.system.roles      0ms     0ms      0ms
admin.system.version      0ms     0ms      0ms
   local.startup_log      0ms     0ms      0ms
local.system.replset      0ms     0ms      0ms
        test.article      0ms     0ms      0ms
      test.inventory      0ms     0ms      0ms
          test.mycol      0ms     0ms      0ms

                  ns    total    read    write    2017-07-02T18:27:25-07:00
  admin.system.roles      0ms     0ms      0ms
admin.system.version      0ms     0ms      0ms
   local.startup_log      0ms     0ms      0ms
local.system.replset      0ms     0ms      0ms
        test.article      0ms     0ms      0ms
      test.inventory      0ms     0ms      0ms
          test.mycol      0ms     0ms      0ms

要更改 mongotop 命令以更多少時間間隔返回信息,請在 mongotop 命令之後指定一個特定的數字值。假設每隔 5 秒返回一次信息 -

D:\Program Files\MongoDB\Server\3.4\bin> mongotop 5

除了MongoDB工具外,10gen 還提供了一個免費的託管監控服務MongoDB管理服務(MMS),它提供了一個儀表盤,可以讓您瞭解整個集羣的指標。