在你已經(jīng)安裝部署并允許MongoDB服務(wù)后,你必須要了解MongoDB的運(yùn)行情況,并查看MongoDB的性能。這樣在大流量得情況下可以很好的應(yīng)對(duì)并保證MongoDB正常運(yùn)作。
MongoDB中提供了mongostat 和 mongotop 兩個(gè)命令來(lái)監(jiān)控MongoDB的運(yùn)行情況。
mongostat是mongodb自帶的狀態(tài)檢測(cè)工具,在命令行下使用。它會(huì)間隔固定時(shí)間獲取mongodb的當(dāng)前運(yùn)行狀態(tài),并輸出。如果你發(fā)現(xiàn)數(shù)據(jù)庫(kù)突然變慢或者有其他問(wèn)題的話,你第一手的操作就考慮采用mongostat來(lái)查看mongo的狀態(tài)。
啟動(dòng)你的Mongod服務(wù),進(jìn)入到你安裝的MongoDB目錄下的bin目錄, 然后輸入mongostat命令,如下所示:
D:\set up\mongodb\bin>mongostat
以上命令輸出結(jié)果如下:
mongotop也是mongodb下的一個(gè)內(nèi)置工具,mongotop提供了一個(gè)方法,用來(lái)跟蹤一個(gè)MongoDB的實(shí)例,查看哪些大量的時(shí)間花費(fèi)在讀取和寫(xiě)入數(shù)據(jù)。 mongotop提供每個(gè)集合的水平的統(tǒng)計(jì)數(shù)據(jù)。默認(rèn)情況下,mongotop返回值的每一秒。
啟動(dòng)你的Mongod服務(wù),進(jìn)入到你安裝的MongoDB目錄下的bin目錄, 然后輸入mongotop命令,如下所示:
D:\set up\mongodb\bin>mongotop
以上命令執(zhí)行輸出結(jié)果如下:
帶參數(shù)實(shí)例
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop 10
后面的10是<sleeptime>參數(shù) ,可以不使用,等待的時(shí)間長(zhǎng)度,以秒為單位,mongotop等待調(diào)用之間。通過(guò)的默認(rèn)mongotop返回?cái)?shù)據(jù)的每一秒。
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop --locks
報(bào)告每個(gè)數(shù)據(jù)庫(kù)的鎖的使用中,使用mongotop - 鎖,這將產(chǎn)生以下輸出:
輸出結(jié)果字段說(shuō)明:
包含數(shù)據(jù)庫(kù)命名空間,后者結(jié)合了數(shù)據(jù)庫(kù)名稱和集合。
db:
包含數(shù)據(jù)庫(kù)的名稱。名為 . 的數(shù)據(jù)庫(kù)針對(duì)全局鎖定,而非特定數(shù)據(jù)庫(kù)。
total:
mongod花費(fèi)的時(shí)間工作在這個(gè)命名空間提供總額。
read:
提供了大量的時(shí)間,這mongod花費(fèi)在執(zhí)行讀操作,在此命名空間。
write:
提供這個(gè)命名空間進(jìn)行寫(xiě)操作,這mongod花了大量的時(shí)間。
更多建議: