MongoDB狀態查詢db.serverStatus()詳解

chenfeng發表於2016-04-07
C:\Users\duansf>mongo
MongoDB shell version: 2.6.6
connecting to: test
> db.serverStatus();
{
        "host" : "XCC-Duanshufeng",   //主機名
        "version" : "2.6.6",                 //mongodb版本
        "process" : "C:\\Users\\duansf\\Desktop\\mongodb\\mongodb-2.6.6\\bin\\m
ngod.exe",                               //mongodb程式,主要有mongod和mongos(分片叢集中)兩種
        "pid" : NumberLong(3748),   //mongod的pid程式號,可用shell的pidof mongod命令驗證
        "uptime" : 549560,              //mongod服務啟動後到現在已經存活的秒數
        "uptimeMillis" : NumberLong(549561258),    //mongod服務啟動後到現在已經存活的毫秒數
        "uptimeEstimate" : 118769,    //mongod內部計算出來的存活秒數
        "localTime" : ISODate("2016-04-07T09:24:43.825Z"),      //本地時間
............................................
............................................
............................................
............................................
>

鎖資訊:

Mongodb有4種鎖:r,R,w,W
R:表示全域性讀鎖
W:全域性寫鎖
r:某個資料庫讀鎖
w:某個資料庫寫鎖

> db.serverStatus().locks
{
        "." : {
                "timeLockedMicros" : {
                        "R" : NumberLong(2122869),    //mongod啟動後所有庫持有全域性讀鎖的總微秒數
                        "W" : NumberLong(11144874)   //mongod啟動後所有庫持有全域性寫鎖的總微秒數
                },
                "timeAcquiringMicros" : {
                        "R" : NumberLong(11686777),    //mongod啟動後所有庫全域性讀鎖的鎖等待的總微秒數
                        "W" : NumberLong(3620354)      //mongod啟動後所有庫全域性寫鎖的鎖等待的總微秒數
                }
        },
        "admin" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(882304),    //mongod啟動後admin資料庫持有的讀鎖時間
                        "w" : NumberLong(0)             //mongod啟動後admin資料庫持有的寫鎖時間
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(2112),
                        "w" : NumberLong(0)
                }
        },
        "local" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(765344),
                        "w" : NumberLong(39)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(353483),
                        "w" : NumberLong(3)
                }
        },
        "wangshuai" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(928854),     //mongod啟動後wangshuai資料庫持有的讀鎖時間
                        "w" : NumberLong(182)         //mongod啟動後wangshuai資料庫持有的寫鎖時間
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(25166),    //mongod啟動後wangshuai資料庫的讀鎖的鎖等待總時間
                        "w" : NumberLong(2)           //mongod啟動後wangshuai資料庫的寫鎖的鎖等待總時間
                }
        },
        "mongodb" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(914010),
                        "w" : NumberLong(79)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(21856),
                        "w" : NumberLong(4)
                }
        },
        "idx_t" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(976209),
                        "w" : NumberLong(82)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(21006),
                        "w" : NumberLong(2)
                }
        },
        "test" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(1081789),
                        "w" : NumberLong(240)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(20544),
                        "w" : NumberLong(3)
                }
        },
        "chenfeng" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(1963331),     //mongod啟動後chenfeng資料庫持有的讀鎖時間
                        "w" : NumberLong(277)           //mongod啟動後chenfeng資料庫持有的寫鎖時間
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(38975),       //mongod啟動後chenfeng資料庫的讀鎖的鎖等待總時間
                        "w" : NumberLong(82)            //mongod啟動後chenfeng資料庫的寫鎖的鎖等待總時間
                }
        },
        "duansf" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(907021),
                        "w" : NumberLong(117)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(317127),
                        "w" : NumberLong(2)
                }
        },
        "mongodb2" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(1093088),
                        "w" : NumberLong(75)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(20333),
                        "w" : NumberLong(3)
                }
        },
        "idex_t" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(3074044),
                        "w" : NumberLong(113)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(77335),
                        "w" : NumberLong(2)
                }
        },
        "dsf" : {
                "timeLockedMicros" : {
                        "r" : NumberLong(883075),
                        "w" : NumberLong(39)
                },
                "timeAcquiringMicros" : {
                        "r" : NumberLong(401152),
                        "w" : NumberLong(3)
                }
        }
}
>

全域性鎖資訊

> db.serverStatus().globalLock
{
        "totalTime" : NumberLong("550465059000"),      //mongod啟動後到現在的總時間,單位微秒
        "lockTime" : NumberLong(11154739),          //mongod啟動後全域性鎖鎖住的總時間,單位微秒
        "currentQueue" : {
                "total" : 0,               //當前的全域性鎖等待鎖等待的個數
                "readers" : 0,          //當前的全域性讀鎖等待個數
                "writers" : 0            //當前全域性寫鎖等待個數
        },
        "activeClients" : {
                "total" : 0,            //當前活躍客戶端的個數
                "readers" : 0,       //當前活躍客戶端中進行讀操作的個數
                "writers" : 0         //當前活躍客戶端中進行寫操作的個數
        }
}
>

記憶體資訊

> db.serverStatus().mem
{
        "bits" : 64,           //操作位數
        "resident" : 5,       //實體記憶體消耗,單位M
        "virtual" : 2016,     //虛擬記憶體消耗
        "supported" : true,       //為true表示支援顯示額外的記憶體資訊
        "mapped" : 928,        //對映記憶體
        "mappedWithJournal" : 1856      //除了對映記憶體外還包括journal日誌消耗的對映記憶體
}
>

連線數資訊

> db.serverStatus().connections
{ "current" : 1,         //當前連線數
"available" : 999999,    //可用連線數
"totalCreated" : NumberLong(3)    //截止目前為止總共建立的連線數
}
>
當前mongod的最大連線數即為10000000=1+999999

額外資訊
> db.serverStatus().extra_info
{
        "note" : "fields vary by platform",    //表示當前這個extra_info的顯示資訊依賴於底層系統
        "page_faults" : 59027,       //堆記憶體空間佔用的位元組數,僅linux適用
        "usagePageFileMB" : 103,     //頁面檔案使用大小
        "totalPageFileMB" : 12456,   //頁面檔案總大小
        "availPageFileMB" : 4601,   //可用頁面檔案大小
        "ramMB" : 8104     //實體記憶體大小
}
>

索引統計資訊
> db.serverStatus().indexCounters
{
        "accesses" : 2,   //索引訪問次數,值越大表示你的索引總體而言建得越好
        "hits" : 2,     //索引命中次數,值越大表示mogond越好地利用了索引
        "misses" : 0,   //索引沒命中次數,越小越好
        "resets" : 0,   //計數器重置的次數
        "missRatio" : 0  //丟失率,即misses除以hits的值
}
>

後臺重新整理資訊
> db.serverStatus().backgroundFlushing
{
        "flushes" : 2071,         //資料庫重新整理寫操作到磁碟的總次數
        "total_ms" : 311571705,     //mongod寫資料到磁碟消耗的總時間,單位ms
        "average_ms" : 150445.05311443747,  //上述兩值的比例,表示每次寫磁碟的平均時間
        "last_ms" : 8,          //當前最後一次寫磁碟花去的時間,單位ms
        "last_finished" : ISODate("2016-04-07T09:56:32.393Z")    //最後一次寫完成的時間
}
>
遊標資訊
> db.serverStatus().cursors
{
        "note" : "deprecated, use server status metrics",    //表示也可使用db.serverStatus().metrics.cursor命令看看
        "clientCursors_size" : 0,     //mongodb當前為客戶端維護的遊標個數
        "totalOpen" : 0,     //和clientCursors_size一樣
        "pinned" : 0,       //開啟的pinned型別的遊標個數
        "totalNoTimeout" : 0,   //設定了經過一段不活躍時間以後不設定超時,即引數“ DBQuery.Option.noTimeout”值以後,開啟的遊標個數
        "timedOut" : 0    //從mongod啟動以來的遊標超時個數,如果這個值很大或者一直在增長,可能顯示當前應用程式有錯誤
}
>
網路資訊
> db.serverStatus().network
{ "bytesIn" : 6732,       //資料庫接收到的網路傳輸位元組數
"bytesOut" : 74477,      //從資料庫傳送出去的網路傳輸位元組數
 "numRequests" : 88    //mongod接收到的總的請求次數
}
>
操作計數器
> db.serverStatus().opcounters
{
        "insert" : 1,     //mongod最近一次啟動後的insert次數
        "query" : 22848,  //mongod最近一次啟動後的query次數
        "update" : 0,    //mongod最近一次啟動後的update次數
        "delete" : 0,    //mongod最近一次啟動後的delete次數
        "getmore" : 0,   //mongod最近一次啟動後的getmore次數,這個值可能會很高
        "command" : 94   //mongod最近一次啟動後的執行command命令的次數
}
>
Asserts
> db.serverStatus().asserts
{
"regular" : 0,   //服務啟動後正常的asserts錯誤個數,可透過log檢視更多該資訊
"warning" : 0,   //服務啟動後的warning個數
"msg" : 0,     //服務啟動後的message assert個數
"user" : 0,    //服務啟動後的user asserts個數
"rollovers" : 0  //服務啟動後的重置次數
}
>
writeBacksQueued
> db.serverStatus().writeBacksQueued
false   //如果為true表示有需要被重新執行的操作,如果為false表示沒有
>
持久化(dur)
> db.serverStatus().dur
{
        "commits" : 29,         //上次分組提交間隔之後,寫入journal的commit的次數
        "journaledMB" : 0,       //上次分組提交間隔之後,寫入journal的大小,單位M
        "writeToDataFilesMB" : 0,  //上次分組提交間隔之後,從journal寫入到資料檔案的大小
        "compression" : 0,       //journal日誌的壓縮率
        "commitsInWriteLock" : 0,  //提交的時候有寫鎖的次數,可以用該值判斷當前系統的寫壓力
        "earlyCommits" : 0,   //在分組提交間隔前,請求commit的次數。用這個值可以判斷分組提交間隔,即 journal group commitinterval設定得是否合理
        "timeMs" : {
                "dt" : 3002,  //收集資料所花的時間,單位ms
                "prepLogBuffer" : 0,   //準備寫入journal所花的時間,單位ms,該值越小表示journal效能越好
                "writeToJournal" : 0,  //真正寫入journal所花的時間,單位ms,該值和檔案系統和硬體裝置有關
                "writeToDataFiles" : 0,  //從journal寫入到資料檔案所花的時間,單位ms
                "remapPrivateView" : 0  //重新對映記憶體所花的時間,單位ms,值越小表示journal效能越好
        }
}
>
記錄狀態資訊
> db.serverStatus().recordStats
{
        "accessesNotInMemory" : 0,           //訪問資料時發現不在記憶體的總次數
        "pageFaultExceptionsThrown" : 0,      //由於頁面錯誤而丟擲異常的總次數
        "admin" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "chenfeng" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "dsf" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "duansf" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "idex_t" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "idx_t" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "local" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "mongodb" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "mongodb2" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "test" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        },
        "wangshuai" : {
                "accessesNotInMemory" : 0,
                "pageFaultExceptionsThrown" : 0
        }
}
>
metrics
> db.serverStatus().metrics
{
        "cursor" : {
                "timedOut" : NumberLong(0),
                "open" : {
                        "noTimeout" : NumberLong(0),
                        "pinned" : NumberLong(0),
                        "total" : NumberLong(0)
                }
        },
        "document" : {
                "deleted" : NumberLong(0),    //刪除記錄的總條數
                "inserted" : NumberLong(1),   //插入記錄的總條數
                "returned" : NumberLong(0),   //返回記錄的總條數
                "updated" : NumberLong(0)    //更新記錄的總條數
        },
        "getLastError" : {
                "wtime" : {
                        "num" : 0,    //getlasterror次數
                        "totalMillis" : 0    //時間
                },
                "wtimeouts" : NumberLong(0)    //超時個數
        },
        "operation" : {
                "fastmod" : NumberLong(0),
                "idhack" : NumberLong(0),
                "scanAndOrder" : NumberLong(0)
        },
        "queryExecutor" : {
                "scanned" : NumberLong(6),
                "scannedObjects" : NumberLong(6)
        },
        "record" : {
                "moves" : NumberLong(0)
        },
        "repl" : {
                "apply" : {
                        "batches" : {
                                "num" : 0,
                                "totalMillis" : 0
                        },
                        "ops" : NumberLong(0)
                },
                "buffer" : {
                        "count" : NumberLong(0),
                        "maxSizeBytes" : 268435456,
                        "sizeBytes" : NumberLong(0)
                },
                "network" : {
                        "bytes" : NumberLong(0),
                        "getmores" : {
                                "num" : 0,
                                "totalMillis" : 0
                        },
                        "ops" : NumberLong(0),
                        "readersCreated" : NumberLong(0)
                },
                "preload" : {
                        "docs" : {
                                "num" : 0,
                                "totalMillis" : 0
                        },
                        "indexes" : {
                                "num" : 0,
                                "totalMillis" : 0
                        }
                }
        },
        "storage" : {
                "freelist" : {
                        "search" : {
                                "bucketExhausted" : NumberLong(0),
                                "requests" : NumberLong(0),
                                "scanned" : NumberLong(0)
                        }
                }
        },
        "ttl" : {
                "deletedDocuments" : NumberLong(0),
                "passes" : NumberLong(2088)
        }
}
>




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2076968/,如需轉載,請註明出處,否則將追究法律責任。

相關文章