db.stats()


db.stats()

進入mongo的shell命令模式下,db.stats() 與 db.serverStatus() 是查看當前Mongodb運行狀態的兩個重要命令。下面簡單解釋一下這兩個命令。

運行db.stats(),得到例如下面這個的結構輸出。

> db.stats();

{

        "db" : "test", "collections" : 3, "objects" : 13, "avgObjSize" : 36,"dataSize" : 468,  "storageSize" : 13312, "numExtents" : 3,   "indexes" : 1,  "indexSize" : 8192,  "fileSize" : 201326592, "ok" : 1

}

爲了排版好看,我把輸出格式做了一點變動。真實輸出是每一個參數佔一行。

這個命令主要是用來查看單個數據庫的基本情況,例如本例中輸出的是test數據庫的基本情況。而之後要介紹的db.serverStatus()是介紹整個monodb實例的運行情況。下面來介紹一下各個參數

  "db" : "test" ,表示當前是針對"test"這個數據庫的描述。想要查看其他數據庫,可以先運行$ use databasename(e.g  $use admiin).

 "collections" : 3,表示當前數據庫有多少個collections.可以通過運行show collections查看當前數據庫具體有哪些collection.

 "objects" : 13,表示當前數據庫所有collection總共有多少行數據。顯示的數據是一個估計值,並不是非常精確。

 "avgObjSize" : 36,表示每行數據是大小,也是估計值,單位是bytes

 "dataSize" : 468,表示當前數據庫所有數據的總大小,不是指佔有磁盤大小。單位是bytes

 "storageSize" : 13312,表示當前數據庫佔有磁盤大小,單位是bytes,因爲mongodb有預分配空間機制,爲了防止當有大量數據插入時對磁盤的壓力,因此會事先多分配磁盤空間。

 "numExtents" : 3,似乎沒有什麼真實意義。我弄明白之後再詳細補充說明。

 "indexes" : 1 ,表示system.indexes表數據行數。

 "indexSize" : 8192,表示索引佔有磁盤大小。單位是bytes

   "fileSize" : 201326592,表示當前數據庫預分配的文件大小,例如test.0,test.1,不包括test.ns。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章