MongoDB部署


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

最好的方法包括原型設定,進行負載測試,監控關鍵指標,並使用該資訊來擴充套件設定。 該方法的關鍵部分是主動監控整個系統 - 這將有助於了解生產系統在部署前如何維持,並確定需要新增容量的位置。 例如,了解記憶體使用中的潛在峰值時可能有助於在寫入之前鎖定。

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

mongostat

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

要執行命令,首先要啟動mongod範例。 在另一個命令提示字元下,轉到 mongodb 安裝的bin目錄,然後鍵入:mongostat

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

以下是命令的輸出 -

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),它提供了一個儀表盤,可以讓您了解整個叢集的指標。