您好,登錄后才能下訂單哦!
開啟 Profiling 功能
1. 直接在啟動參數里直接進行設置
啟動MongoDB時加上–profile=1 即可
還可以慢查詢時間(即大于多少時間被記入慢查詢)--slowms 200
2. 可以通過db.getProfilingLevel()命令來獲取當前的Profile級別
db.getProfilingLevel()
0 – 不開啟
1 – 記錄慢命令 (默認為>100ms)
2 – 記錄所有命令
db.setProfilingLevel( level , slowms )
db.setProfilingLevel( 1 , 10 );
3.查詢慢查詢記錄
db.system.profile.find()
列出執行時間長于某一限度(5ms)的 Profile 記錄:
> db.system.profile.find( { millis : { $gt : 5 } } )
4.慢查詢參數詳解
ts-該命令在何時執行.
millis Time-該命令執行耗時,以毫秒記.
info-本命令的詳細信息.
query-表明這是一個query查詢操作.
ntoreturn-本次查詢客戶端要求返回的記錄數.比如, findOne()命令執行時 ntoreturn 為 1.有limit(n) 條件時ntoreturn為n.
query-具體的查詢條件(如x>3).
nscanned-本次查詢掃描的記錄數.
reslen-返回結果集的大小.
nreturned-本次查詢實際返回的結果集.
update-表明這是一個update更新操作.
fastmod-Indicates a fast modify operation. See Updates. These operations are normally quite fast.
fastmodinsert – indicates a fast modify operation that performed an upsert.
upsert-表明update的upsert參數為true.此參數的功能是如果update的記錄不存在,則用update的條件insert一條記錄.
moved-表明本次update是否移動了硬盤上的數據,如果新記錄比原記錄短,通常不會移動當前記錄,如果新記錄比原記錄長,那么可能會移動記錄到其它位置,這時候會導致相關索引的更新.磁盤操作更多,加上索引更新,會使得這樣的操作比較慢.
insert-這是一個insert插入操作.
getmore-這是一個getmore 操作,getmore通常發生在結果集比較大的查詢時,第一個query返回了部分結果,后續的結果是通過getmore來獲取的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。