您好,登錄后才能下訂單哦!
mongodb中慢查詢日志
1.開啟查詢日志.
(1)動態開啟,可以選擇性的對指定DB開啟慢查詢日志,但服務器重啟后慢查詢日志又要人工手動開啟。
db.setProfilingLevel(1,300)
setProfilingLevel有兩個參數,第一參數表示慢查詢日志開關(可使用的值為0,1,2
0:表示關閉慢查詢日志,1:表示開啟慢查詢日志,2:表示記錄所有數據庫中的查詢),
第二個參數為慢查詢閥值,單位是毫秒,默認情況下閥值為100ms。
(2).配置文件中開啟,永久生效。對所有的數據DB生效
在mongo的配置文件中加上一下兩個參數即可永久開啟慢查詢。
profile:表示慢查詢日志開關.
slowms:慢查詢日志閥值。
和setProfilingLevel中的兩個參數對應。
2.查看服務器慢查詢日志狀態
db.getProfilingStatus()
rs0:SECONDARY> db.getProfilingStatus();
{ "was" : 1, "slowms" : 100 }
db.getProfilingLevel()
rs0:SECONDARY> db.getProfilingLevel()
1
3.查看滿查詢日志。
一般情況下,當開啟慢查詢日志后會在每個db下面生成一個集合(system.profile).
這個集合里面記錄了所有當前數據庫查詢時間超過閥值的查詢記錄。
rs0:PRIMARY> db.system.profile.find({ns:/^gow/}).limit(1)
{"op" : "update",
"ns" : "gow.broadcasts",
"query" : { "_id" : ObjectId("54b73af6bab3047b5593c456") },
"updateobj" : { "_id" : ObjectId("54b73af6bab3047b5593c456"), "content" : "各新石"},
"nscanned" : 0,
"nscannedObjects" : 0,
"nMatched" : 1,
"nModified" : 0,
"upsert" : true,
"keyUpdates" : 0,
"numYield" : 0,
"lockStats" : { "timeLockedMicros" : { "r" : NumberLong(0) , "w" : NumberLong(10) } },
"millis" : 157,
"execStats" : { },
"ts" : ISODate("2015-01-26T19:05:00.118Z"),
"client" : "10.136.3.117",
"allUsers" : [ { "user" : "root", "db" : "admin" } ], "user" : "root@admin" }
鍵值解釋:
op:操作類型。
ns:執行操作的對象集合
millis:操作所花時間,毫秒
client:執行操作的客服端。
allUsers:執行操作的mongodb賬號
ts:時間戳(操作的發生時間)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。