在準(zhǔn)備MongoDB部署時,應(yīng)嘗試了解您的應(yīng)用程序?qū)⑷绾卧谏a(chǎn)環(huán)境中保持穩(wěn)定。開發(fā)一致,可重復(fù)的方法來管理部署環(huán)境是一個好主意,這樣一來,一旦投入生產(chǎn),您就可以最大程度地減少意外。
最好的方法包括對您的設(shè)置進(jìn)行原型制作,進(jìn)行負(fù)載測試,監(jiān)視關(guān)鍵指標(biāo)并使用該信息來擴(kuò)展您的設(shè)置。該方法的關(guān)鍵部分是主動監(jiān)視整個系統(tǒng)-這將幫助您了解生產(chǎn)系統(tǒng)在部署之前將如何承受,并確定需要在何處增加容量。例如,深入了解內(nèi)存使用量的潛在峰值可能有助于在啟動之前撲滅寫鎖定。
為了監(jiān)視您的部署,MongoDB提供了以下一些命令-
此命令檢查所有正在運行的mongod實例的狀態(tài),并返回數(shù)據(jù)庫操作的計數(shù)器。這些計數(shù)器包括插入、查詢、更新、刪除和光標(biāo)。該命令還將顯示您遇到頁面錯誤的時間,并顯示鎖定百分比。這意味著您的內(nèi)存不足,達(dá)到寫容量或有一些性能問題。
要運行該命令,請啟動您的mongod實例。在另一個命令提示符下,轉(zhuǎn)到bin
mongodb安裝目錄,然后輸入mongostat
。
D:\set up\mongodb\bin>mongostat
以下是命令的輸出-
此命令在收集的基礎(chǔ)上跟蹤并報告MongoDB實例的讀寫活動。默認(rèn)情況下,mongotop
每秒返回一次信息,您可以相應(yīng)地對其進(jìn)行更改。您應(yīng)該檢查此讀寫活動是否符合您的應(yīng)用意圖,并且一次不會對數(shù)據(jù)庫進(jìn)行太多寫入,從磁盤中讀取數(shù)據(jù)的頻率過高或超出工作集的大小。
要運行該命令,請啟動您的mongod實例。在另一個命令提示符下,轉(zhuǎn)到bin
mongodb安裝目錄,然后輸入mongotop
。
D:\set up\mongodb\bin>mongotop
以下是命令的輸出-
要更改mongotop
命令以減少返回信息的頻率,請在mongotop命令后指定一個特定的數(shù)字。
D:\set up\mongodb\bin>mongotop 30
上面的示例將每30秒返回一次值。
除了 MongoDB 工具之外,10gen 還提供了一個免費的托管監(jiān)控服務(wù),MongoDB 管理服務(wù)(MMS) ,它提供了一個儀表板,并為您提供了來自整個集群的指標(biāo)的視圖。