몽고db분석 / 빠르게 / 성능 분석/ profiler /
mongodb 성능 분석, MongoDB Profiler and explain()
db.getProfilingStatus()
db.getProfilingLevel()
db.setProfilingLevel(1)
- level 0 : 아무런 data 도 수집하지 않는다. 이것이 default 값이다.
- level 1 :
slowms
값보다 오래 걸리는 query 에 대한 data 를 수집한다. - level 2 : 모든 operation 에 대한 data 를 수집한다.
db.system.profile.find({
"command.pipeline": { $exists: true }
}, {
"command.pipeline":1
}).sort({$natural:-1}).pretty();
COLLSCAN 을 하는 모든 query 들
// all queries that do a COLLSCAN
db.system.profile.find({"planSummary":{$eq:"COLLSCAN"},
"op" : {$eq:"query"}}).sort({millis:-1})
range scan 또는 full scan 을 하는 query 들
db.system.profile.find({"nreturned":{$gt:1}})
가장느린 query 중 상위 10 개
// 가장느린 query 중 상위 10 개
db.system.profile.find({"op" : {$eq:"query"}}, {
"query" : NumberInt(1),
"millis": NumberInt(1)
}
).sort({millis:-1},{$limit:10}).pretty()
// 가장느린 10개의 aggregation 들
// the source of the top ten slowest commands/aggregations
db.system.profile.find({"op" : {$eq:"command"}}, {
"command.pipeline" : NumberInt(1),
"millis": NumberInt(1)
}
).sort({millis:-1},{$limit:10}).pretty()
10ms 이상 걸리는 query
//find all queries that take more than ten milliseconds, in descending order,
displaying both queries and aggregations
db.system.profile.find({"millis":{$gt:10}}) .sort({millis:-1})
댓글 없음:
댓글 쓰기