๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ฌ ์ถ๋ ฅ
์ด ํ์ด์ง์ ๋ด์ฉ
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ฌ๋ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์ , ์ปค์ ์์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น์ ๋ํ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์บก์ฒํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ ๊ตฌ์ฑํ๊ณ ํ๋กํ ๋ฐ์ดํฐ ์บก์ฒ ์๊ณ๊ฐ์ ์ค์ ํ๋ ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ฌ ์น์ ์ ์ฐธ์กฐํ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ฌ๋ ๊ณ ์ ์ฌ์ด์ฆ ์ปฌ๋ ์
์ธ system.profile
์ปฌ๋ ์
์ ๋ฐ์ดํฐ๋ฅผ ์๋๋ค. ํ๋กํ์ผ๋ฌ์ ์ถ๋ ฅ์ ๋ณด๋ ค๋ฉด system.profile
์ปฌ๋ ์
์์ ์ผ๋ฐ MongoDB ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ system.profile
์ปฌ๋ ์
์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ ๋๋ฌธ์ ์ฝ๊ธฐ ์ ์ฉ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ์๋ ์ผ๋ถ ์ฐ๊ธฐ ํ๋์ ํ๋กํ์ผ๋งํฉ๋๋ค.
currentOp
๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ฌ ๋ ๋ค์์ ํฌํจํ ๋ชจ๋ CRUD ์์
์ ๋ํด ๋์ผํ ๊ธฐ๋ณธ ์ง๋จ ์ ๋ณด๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
getMore
(OP_GET_MORE ๋ฐcommand
)
์ด๋ฌํ ์์
์ ๋๋ฆฐ ์ฟผ๋ฆฌ ๋ก๊น
์๋ ํฌํจ๋ฉ๋๋ค. ๋๋ฆฐ ์ฟผ๋ฆฌ ๋ก๊น
์ ๋ํ ์์ธํ ๋ด์ฉ์ slowOpThresholdMs
๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด์ ํธ๋์ญ์
๋ด์์ system.profile
์ปฌ๋ ์
์ ๋ํด ์ฝ๊ธฐ๋ฅผ ํฌํจํ ๋ชจ๋ ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค.
๊ฒฝ๊ณ
MongoDB Server๊ฐ ์ถฉ๋ํ๋ฏ๋ก system.profile
์ด๋ผ๋ ์ด๋ฆ์ time series ์ปฌ๋ ์
๋๋ ๋ทฐ๋ฅผ ๋ง๋ค๋ ค๊ณ ์๋ํ์ง ๋ง์ธ์.
๋ฌธ์์์ system.profile
๋ค์์ ๋
๋ฆฝํ ์์
์ ๋ํ system.profile
collection์ ์๋ ๋ช ๊ฐ์ง ๋ฌธ์์
๋๋ค.
system.profile
์ ๋ค์ ๋ฌธ์์๋ ์ฐพ๊ธฐ ์์
์ด ๋ฐ์๋์ด ์์ต๋๋ค.
{ "op" : "query", "ns" : "test.report", "command" : { "find" : "report", "filter" : { "a" : { "$lte" : 500 } }, "lsid" : { "id" : UUID("5ccd5b81-b023-41f3-8959-bf99ed696ce9") }, "$db" : "test" }, "cursorid" : 33629063128, "keysExamined" : 101, "docsExamined" : 101, "fromMultiPlanner" : true, "numYield" : 2, "nreturned" : 101, "queryHash" : "811451DD", "planCacheKey" : "759981BA", "locks" : { "Global" : { "acquireCount" : { "r" : NumberLong(3), "w" : NumberLong(3) } }, "Database" : { "acquireCount" : { "r" : NumberLong(3) }, "acquireWaitCount" : { "r" : NumberLong(1) }, "timeAcquiringMicros" : { "r" : NumberLong(69130694) } }, "Collection" : { "acquireCount" : { "r" : NumberLong(3) } } }, "storage" : { "data" : { "bytesRead" : NumberLong(14736), "timeReadingMicros" : NumberLong(17) } }, "responseLength" : 1305014, "protocol" : "op_msg", "millis" : 69132, "planSummary" : "IXSCAN { a: 1, _id: -1 }", "execStats" : { "stage" : "FETCH", "nReturned" : 101, "executionTimeMillisEstimate" : 0, "works" : 101, "advanced" : 101, "needTime" : 0, "needYield" : 0, "saveState" : 3, "restoreState" : 2, "isEOF" : 0, "docsExamined" : 101, "alreadyHasObj" : 0, "inputStage" : { ... } }, "ts" : ISODate("2019-01-14T16:57:33.450Z"), "client" : "127.0.0.1", "appName" : "MongoDB Shell", "allUsers" : [ { "user" : "someuser", "db" : "admin" } ], "user" : "someuser@admin" }
update
(๋ฐ delete
) ์์
์ ๋ํ ํ๋กํ ํญ๋ชฉ์๋ ์ ์ฒด ์
๋ฐ์ดํธ ๋ช
๋ น์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋ค์ ์์ ๋ report
์ด๋ผ๋ ์ปฌ๋ ์
์ ๋ํ update
์์
์ ๋ฐ์ํฉ๋๋ค.
{ "op" : "update", "ns" : "test.report", "command" : { "q" : { }, "u" : { "$rename" : { "a" : "b" } }, "multi" : true, "upsert" : false }, "keysExamined" : 0, "docsExamined" : 25000, "nMatched" : 25000, "nModified" : 25000, "keysInserted" : 25000, "keysDeleted" : 25000000, "numYield" : 6985, "locks" : { "Global" : { "acquireCount" : { "r" : NumberLong(6986), "w" : NumberLong(13972) } }, "Database" : { "acquireCount" : { "w" : NumberLong(6986) }, "acquireWaitCount" : { "w" : NumberLong(1) }, "timeAcquiringMicros" : { "w" : NumberLong(60899375) } }, "Collection" : { "acquireCount" : { "w" : NumberLong(6986) } }, "Mutex" : { "acquireCount" : { "r" : NumberLong(25000) } } }, "storage" : { "data" : { "bytesRead" : NumberLong(126344060), "bytesWritten" : NumberLong(281834762), "timeReadingMicros" : NumberLong(94549), "timeWritingMicros" : NumberLong(139361) } }, "millis" : 164687, "planSummary" : "COLLSCAN", "execStats" : { "stage" : "UPDATE", "nReturned" : 0, "executionTimeMillisEstimate" : 103771, "works" : 25003, "advanced" : 0, "needTime" : 25002, "needYield" : 0, "saveState" : 6985, "restoreState" : 6985, "isEOF" : 1, "nMatched" : 25000, "nWouldModify" : 25000, "wouldInsert" : false, "inputStage" : { "stage" : "COLLSCAN", "nReturned" : 25000, "executionTimeMillisEstimate" : 0, "works" : 25002, "advanced" : 25000, "needTime" : 1, "needYield" : 0, "saveState" : 31985, "restoreState" : 31985, "isEOF" : 1, "direction" : "forward", "docsExamined" : 25000 } }, "ts" : ISODate("2019-01-14T23:33:01.806Z"), "client" : "127.0.0.1", "appName" : "MongoDB Shell", "allUsers" : [ { "user" : "someuser", "db" : "admin" } ], "user" : "someuser@admin" }
์ถ๋ ฅ ์ฐธ์กฐ
๋ชจ๋ ๋จ์ผ ์์ ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ฌ์์ ์์ฑํ ๋ฌธ์์๋ ๋ค์ ํ๋์ ํ์ ์งํฉ์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฌธ์์์ ํ๋์ ์ ํํ ์ ํ์ ์์ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
๋๋ฆฐ ์์
์ ๊ฒฝ์ฐ ํ๋กํ์ผ๋ฌ ํญ๋ชฉ ๋ฐ ์ง๋จ ๋ก๊ทธ ๋ฉ์์ง ์ storage
์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค.
์ฐธ๊ณ
MongoDB ๋ฒ์ ๋ณ ์ถ๋ ฅ์ ๋ณด๋ ค๋ฉด ํด๋น ๋ฒ์ ์ MongoDB ๋งค๋ด์ผ์ ์ฐธ์กฐํ์ธ์.
system.profile.op
์์ ์ ํ์ ๋๋ค. ๊ฐ๋ฅํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
command
count
distinct
geoNear
getMore
group
insert
mapReduce
query
remove
update
system.profile.ns
์์ ์ด ๋์์ผ๋ก ํ๋ ๋ค์์คํ์ด์ค์ ๋๋ค . MongoDB์ ๋ค์์คํ์ด์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ ๋ค์ ์ (
.
)์ด ์ค๊ณ , ๊ทธ ๋ค์ ์ปฌ๋ ์ ์ด๋ฆ์ด ์ค๋ ํ์์ ์ทจํฉ๋๋ค.
system.profile.command
์ด ์์ ๊ณผ ๊ด๋ จ๋ ์ ์ฒด ๋ช ๋ น ๊ฐ์ฒด๊ฐ ํฌํจ๋ ๋ฌธ์์ ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์ถ๋ ฅ์๋
test
๋ฐ์ดํฐ๋ฒ ์ด์ค์items
์ปฌ๋ ์ ์ ๋ํfind
์์ ์ ๋ํ ๋ช ๋ น ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค."command" : { "find" : "items", "filter" : { "sku" : 1403978 }, ... "$db" : "test" } ๋ค์ ์์ ์ถ๋ ฅ์๋
test
๋ฐ์ดํฐ๋ฒ ์ด์ค์items
์ปฌ๋ ์ ์์ ์ปค์ ID๊ฐ19234103609
์ธ ๋ช ๋ น์ ์ํด ์์ฑ๋getMore
์์ ์ ๋ํ ๋ช ๋ น ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค."command" : { "getMore" : NumberLong("19234103609"), "collection" : "items", "batchSize" : 10, ... "$db" : "test" }, ๋ช ๋ น ๋ฌธ์๊ฐ 50KB๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ๋ฌธ์์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"command" : { "$truncated": <string>, "comment": <string> } $truncated
ํ๋๋ ๋ฌธ์์comment
ํ๋(์๋ ๊ฒฝ์ฐ)๋ฅผ ์ ์ธํ ๋ฌธ์์ ๋ฌธ์์ด ์์ฝ์ ํฌํจํฉ๋๋ค. ์์ฝ์ด ์ฌ์ ํ 50ํฌ๋ก๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ๋ฉด ๋ ์๋ฆฌ๊ฒ ๋์ด ๋ฌธ์์ด ๋์ ์ค์ํ(...)๋ก ํ์๋ฉ๋๋ค.comment
ํ๋๋ ์ฃผ์์ด ์์ ์ ์ ๋ฌ๋ ๊ฒฝ์ฐ ํ์๋ฉ๋๋ค. ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น์ ์ฃผ์์ ์ฒจ๋ถํ ์ ์์ต๋๋ค.
system.profile.originatingCommand
๋ฒ์ 3.6์์ ๋ณ๊ฒฝ๋จ.
์ปค์์์ ๋ค์ ๊ฒฐ๊ณผ ๋ฐฐ์น๋ฅผ ์กฐํํ๋
"getmore"
์์ ์ ๊ฒฝ์ฐoriginatingCommand
ํ๋์ ์ปค์๋ฅผ ์ฒ์ ์์ฑํ ์ ์ฒด ๋ช ๋ น ๊ฐ์ฒด(์:find
๋๋aggregate
)๊ฐ ํฌํจ๋ฉ๋๋ค.
system.profile.keysExamined
๋ฒ์ 3.2.0์์ ๋ณ๊ฒฝ๋์์ต๋๋ค.
system.profile.nscanned
์์ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์์ ์ ์ํํ๊ธฐ ์ํด MongoDB๊ฐ ์ค์บํ ์ธ๋ฑ์ค ํค์ ์์ ๋๋ค.์ผ๋ฐ์ ์ผ๋ก
keysExamined
๊ฐnreturned
๋ณด๋ค ํจ์ฌ ๋์ผ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ฒฐ๊ณผ ๋ฌธ์๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ง์ ์ธ๋ฑ์ค ํค๋ฅผ ์ค์บํ๊ณ ์๋ค๋ ๋ป์ ๋๋ค. ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํด ์ธ๋ฑ์ค๋ฅผ ์์ฑ ๋๋ ์์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.๋ฒ์ 3.4์์ ๋ณ๊ฒฝ๋จ.
keysExamined
๋ค์ ๋ช ๋ น๊ณผ ์์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
system.profile.docsExamined
๋ฒ์ 3.2.0์์ ๋ณ๊ฒฝ๋จ:
system.profile.nscannedObjects
์์ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.์์ ์ ์ํํ๊ธฐ ์ํด MongoDB๊ฐ ์ค์บํ collection์ ๋ฌธ์ ์์ ๋๋ค.
๋ฒ์ 3.4์์ ๋ณ๊ฒฝ๋จ.
docsExamined
๋ค์ ๋ช ๋ น๊ณผ ์์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
system.profile.hasSortStage
๋ฒ์ 3.2.0์์ ๋ณ๊ฒฝ๋จ:
system.profile.scanAndOrder
์์ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.hasSortStage
๋ ์ฟผ๋ฆฌ๊ฐ ์ธ๋ฑ์ค์ ์์๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญ๋ ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์์ ๋true
๊ฐ ๋๋ ๋ถ์ธ์ ๋๋ค. ์๋ฅผ ๋ค์ด MongoDB๋ ์ปค์์์ ๋ฌธ์๋ฅผ ๋ฐ์ ํ ๋ฌธ์๋ฅผ ์ ๋ ฌํด์ผ ํฉ๋๋ค. ์ด ํ๋๋ ๊ฐ์ดtrue
์ธ ๊ฒฝ์ฐ์๋ง ํ์๋ฉ๋๋ค.๋ฒ์ 3.4์์ ๋ณ๊ฒฝ๋จ.
hasSortStage
๋ค์ ๋ช ๋ น๊ณผ ์์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.getMore
(OP_GET_MORE ๋ฐcommand
)
system.profile.usedDisk
๋ฒ์ 4.2์ ์ถ๊ฐ๋์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ ํ์ผ๋ก ์ธํด ์ ๊ทธ๋ฆฌ๊ฒ์ด์ ๋จ๊ณ์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ผ์ ์ผ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ถ์ธ์ ๋๋ค.
usedDisk
๊ฐ true์ธ ๊ฒฝ์ฐ์๋ง ํ์๋ฉ๋๋ค.
system.profile.nMatched
์ ๋ฐ์ดํธ ์์ ์ ๋ํ ์ฟผ๋ฆฌ ์กฐ๊ฑด๊ณผ ์ผ์นํ๋ ๋ฌธ์ ์์ ๋๋ค.
system.profile.upsert
์ ๋ฐ์ดํธ ์์ ์
upsert
์ต์ ๊ฐ์ ๋ํ๋ด๋ ๋ถ์ธ์ ๋๋ค.upsert
์ด(๊ฐ) true์ธ ๊ฒฝ์ฐ์๋ง ํ์๋ฉ๋๋ค.
system.profile.fromMultiPlanner
๋ฒ์ 3.2.5์ ์ถ๊ฐ ๋์์ต๋๋ค.
์ฟผ๋ฆฌ ํ๋๋๊ฐ ์ฟผ๋ฆฌ์ ๋ํ ์ฑ๊ณต์ ์ธ ์คํ ๊ณํ์ ์ ํํ๊ธฐ ์ ์ ์ฌ๋ฌ ๊ณํ์ ํ๊ฐํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ถ์ธ์ ๋๋ค.
๊ฐ์ด
true
์ธ ๊ฒฝ์ฐ์๋ง ํ์๋ฉ๋๋ค.
system.profile.replanned
๋ฒ์ 3.2.5์ ์ถ๊ฐ ๋์์ต๋๋ค.
์ฟผ๋ฆฌ ์์คํ ์ด ์บ์๋ ๊ณํ์ ์ ๊ฑฐํ๊ณ ๋ชจ๋ ํ๋ณด ๊ณํ์ ์ฌํ๊ฐํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ถ์ธ์ ๋๋ค.
๊ฐ์ด
true
์ธ ๊ฒฝ์ฐ์๋ง ํ์๋ฉ๋๋ค.
system.profile.replanReason
์บ์๋ ๊ณํ์ด ์ ๊ฑฐ๋ ๊ตฌ์ฒด์ ์ธ ์ด์ ๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด์ ๋๋ค.
replanned
๊ฐ์ดtrue
์ธ ๊ฒฝ์ฐ์๋ง ํ์๋ฉ๋๋ค.
system.profile.keysInserted
์ง์ ๋ ์ฐ๊ธฐ ์์ ์ ๋ํด ์ฝ์ ๋ ์ธ๋ฑ์ค ํค์ ์์ ๋๋ค.
system.profile.keysDeleted
3.4์์ ์ ๊ฑฐ๋์์ต๋๋ค.
์์ ์์ ์ ๋ฐ์ดํธ๊ฐ ๋ณ๊ฒฝ๋ ์ธ๋ฑ์ค ํค์ ์์ ๋๋ค. ์ธ๋ฑ์ค ํค๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ด์ ํค๋ฅผ ์ ๊ฑฐํ๊ณ B-ํธ๋ฆฌ ์ธ๋ฑ์ค์ ์ ํค๋ฅผ ์ฝ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฐ์ ์ฑ๋ฅ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค.
system.profile.writeConflicts
์ฐ๊ธฐ ์์ ์ค์ ๋ฐ์ํ ์ถฉ๋ ์์ ๋๋ค. ์๋ฅผ ๋ค์ด
update
์์ ์ด ๋ค๋ฅธupdate
์์ ๊ณผ ๋์ผํ ๋ฌธ์๋ฅผ ์์ ํ๋ ค๊ณ ์๋ํ๋ ๊ฒฝ์ฐ์ ๋๋ค. ์ฐ๊ธฐ ์ถฉ๋๋ ์ฐธ์กฐํ์ธ์.
system.profile.numYield
๋ค๋ฅธ ์์ ์ด ์๋ฃ๋ ์ ์๋๋ก ์์ ์ ์๋ณดํ ํ์์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์ ์ MongoDB๊ฐ ์์ง ๋ฉ๋ชจ๋ฆฌ๋ก ์์ ํ ์ฝ์ง ์์ ๋ฐ์ดํฐ์ ์ก์ธ์คํด์ผ ํ ๋ ์๋ณดํฉ๋๋ค. ์ด๋ฅผ ํตํด MongoDB๊ฐ ์ฐ์ถ ์์ ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ค๋ฅธ ์์ ์ ์๋ฃํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์์ ์ด ์๋ณด๋๋ ๊ฒฝ์ฐ์ ๋ํ FAQ๋ฅผ ์ฐธ์กฐํ์ธ์.
system.profile.queryHash
์ฟผ๋ฆฌ ํํ์ ํด์๋ฅผ ๋ํ๋ด๋ฉฐ ์ฟผ๋ฆฌ ํํ์๋ง ์ข ์๋๋ 16์ง์ ๋ฌธ์์ด์ ๋๋ค.
queryHash
๋ ๋์ผํ ์ฟผ๋ฆฌ ํํ๋ฅผ ๊ฐ์ง ๋๋ฆฐ ์ฟผ๋ฆฌ(์ฐ๊ธฐ ์์ ์ ์ฟผ๋ฆฌ ํํฐ ํฌํจ)๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.์ฐธ๊ณ
๋ค๋ฅธ ํด์ ํจ์์ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ ๊ฐ์ ๋ค๋ฅธ ์ฟผ๋ฆฌ ํํ๊ฐ ๋์ผํ ํด์ ๊ฐ์ ์์ฑํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋ก ๋ค๋ฅธ ์ฟผ๋ฆฌ ํํ ๊ฐ์ ํด์ ์ถฉ๋์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ต๋๋ค.
queryHash
๋ฐplanCacheKey
์ ๋ํ ์์ธํ ๋ด์ฉ์queryHash
๋ฐplanCacheKey
๋ฅผ ์ฐธ์กฐํ์ญ์์ค.๋ฒ์ 4.2์ ์ถ๊ฐ๋์์ต๋๋ค.
system.profile.planCacheKey
์ฟผ๋ฆฌ์ ์ฐ๊ด๋ ๊ณํ ์บ์ ํญ๋ชฉ์ ๋ํ ํค์ ํด์์ ๋๋ค.
queryHash
์ ๋ฌ๋ฆฌplanCacheKey
๋ ์ฟผ๋ฆฌ ํํ์ ํด๋น ํํ์ ๋ํด ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ธ๋ฑ์ค์ ํจ์์ ๋๋ค. ์ฆ, ์ฟผ๋ฆฌ ํํ๋ฅผ ์ง์ํ ์ ์๋ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐ/์ ๊ฑฐํ๋ฉดplanCacheKey
๊ฐ์ ๋ณ๊ฒฝ๋ ์ ์์ผ๋queryHash
๊ฐ์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.queryHash
๋ฐplanCacheKey
์ ๋ํ ์์ธํ ๋ด์ฉ์queryHash
๋ฐplanCacheKey
๋ฅผ ์ฐธ์กฐํ์ญ์์ค.๋ฒ์ 4.2์ ์ถ๊ฐ๋์์ต๋๋ค.
system.profile.locks
system.profile.locks
๋ ์์ ์ค์ ์ ์ง๋๋ ๋ค์ํ ์ ๊ธ ์ ํ ๋ฐ ์ ๊ธ ๋ชจ๋์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.๊ฐ๋ฅํ ์ ๊ธ ์ ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๊ธ ์ ํ์ค๋ชParallelBatchWriterMode
๋ณ๋ ฌ ๋ฐฐ์น ์ฐ๊ธฐ ๋ชจ๋์ ์ ๊ธ์ ๋ํ๋ ๋๋ค.
์ด์ ๋ฒ์ ์์๋ PBWM ์ ๋ณด๊ฐ
Global
์ ๊ธ ์ ๋ณด์ ์ผ๋ถ๋ก ๋ณด๊ณ ๋์์ต๋๋ค.ReplicationStateTransition
๋ ํ๋ฆฌ์นด ์ธํธ ๋ฉค๋ฒ ์ํ ์ ํ์ ์ทจํ ์ ๊ธ์ ๋ํ๋ ๋๋ค.Global
๊ธ๋ก๋ฒ ์ ๊ธ์ ๋ํ๋ ๋๋ค.Database
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ธ์ ๋ํ๋ ๋๋ค.Collection
์ปฌ๋ ์ ์ ๊ธ์ ๋ํ๋ ๋๋ค.Mutex
๋ฎคํ ์ค๋ฅผ ๋ํ๋ ๋๋ค.Metadata
๋ฉํ๋ฐ์ดํฐ ์ ๊ธ์ ๋ํ๋ ๋๋ค.oplog
oplog ์ ๊ธ์ ๋ํ๋ ๋๋ค.์ ๊ธ ์ ํ์ ์ฌ์ฉํ ์ ์๋ ์ ๊ธ ๋ชจ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๊ธ ๋ชจ๋์ค๋ชR
๊ณต์ (S) ์ ๊ธ์ ๋ํ๋ ๋๋ค.W
๋ ์ (X) ์ ๊ธ์ ๋ํ๋ ๋๋ค.r
์ธํ ํธ ๊ณต์ (IS) ์ ๊ธ์ ๋ํ๋ ๋๋ค.w
์ธํ ํธ ๋ ์ (IX) ์ ๊ธ์ ๋ํ๋ ๋๋ค.๋ค์ํ ์ ๊ธ ์ ํ์ ๋ํด ๋ฐํ๋๋ ์ ๊ธ ์ ๋ณด์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
system.profile.locks.acquireCount
์์ ์ด ์ง์ ๋ ๋ชจ๋์์ ์ ๊ธ์ ํ๋ํ ํ์์ ๋๋ค.
system.profile.locks.acquireWaitCount
์ ๊ธ์ด ์ถฉ๋ ๋ชจ๋์์ ์ ์ง๋์๊ธฐ ๋๋ฌธ์ ์์ ์ด
acquireCount
๊ฐ์ ์ ๊ธ์ ๋๋ฌํ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ ํ์์ ๋๋ค.acquireWaitCount
๊ฐacquireCount
๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ต๋๋ค.
system.profile.locks.timeAcquiringMicros
์์ ์ด ์ ๊ธ์ ํ๋ํ๊ธฐ ์ํด ๋๊ธฐํด์ผ ํ๋ ๋์ ์๊ฐ(๋ง์ดํฌ๋ก์ด)์ ๋๋ค.
timeAcquiringMicros
๋ฅผacquireWaitCount
๋ก ๋๋๋ฉด ํน์ ์ ๊ธ ๋ชจ๋์ ๋๋ต์ ์ธ ํ๊ท ๋๊ธฐ ์๊ฐ์ ๊ตฌํ ์ ์์ต๋๋ค.
system.profile.locks.deadlockCount
์ ๊ธ ํ๋์ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์์ ์์ ๊ต์ฐฉ ์ํ๊ฐ ๋ฐ์ํ ํ์์ ๋๋ค.
์ ๊ธ ๋ชจ๋์ ๋ํ ์์ธํ ๋ด์ฉ์ MongoDB๊ฐ ์ฌ์ฉํ๋ ์ ๊ธ ์ ํ์ ๋ฌด์์ธ๊ฐ์?๋ฅผ ์ฐธ์กฐํ์ธ์.
system.profile.authorization
๋ฒ์ 5.0.0์ ์ถ๊ฐ๋์์ต๋๋ค.
๊ฐ ์์ ์ ๋ํด ์ฌ์ฉ์ ์บ์์ ์ก์ธ์ค๋๋ ํ์์ ๋๋ค. ์ด ์งํ๋ ์์ ์ด ์ฌ์ฉ์ ์บ์์ ํ ๋ฒ ์ด์ ์ก์ธ์คํ ๊ฒฝ์ฐ์๋ง ํ์๋ฉ๋๋ค.
์ด๋ฌํ ์งํ๋ ์ ์ ์์ ๋ก๊น ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋กํ์ผ๋ง ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
system.profile.authorization
๋db.currentOp()
์ถ๋ ฅ์ ํฌํจ๋์ง ์์ต๋๋ค.system.profile.authorization.startedUserCacheAcquisitionAttempts
์์ ์ด ์ฌ์ฉ์ ์บ์์ ์ก์ธ์คํ๋ ค๊ณ ์๋ํ ํ์์ ๋๋ค.
system.profile.storage
๋ฒ์ 4.2์ ์๋ก ์ถ๊ฐ๋จ: (4.0.9๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)
system.profile.storage
์ ๋ณด๋ ์คํ ๋ฆฌ์ง ์์ง ๋ฐ์ดํฐ์ ๋ํ ์งํ์ ์์ ๋๊ธฐ ์๊ฐ์ ์ ๊ณตํฉ๋๋ค.ํน์ ์คํ ๋ฆฌ์ง ์งํ๋ ๊ฐ์ด 0๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ง ๋ฐํ๋ฉ๋๋ค.
system.profile.storage.data.bytesRead
๋ฒ์ 4.2์ ์๋ก ์ถ๊ฐ๋จ: (4.0.9๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)
๋์คํฌ์์ ์บ์๋ก ์์ ์ ํตํด ์ฝ์ ๋ฐ์ดํธ ์์ ๋๋ค.
๋์คํฌ์์ ์บ์๋ก ์ฝ์ ๋ฐ์ดํฐ์๋ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ด๋ฏธ ์บ์์ ์๋ ๊ฒฝ์ฐ ๋์คํฌ์์ ์ฝ์ ๋ฐ์ดํธ ์๋
0
์ผ ์ ์์ต๋๋ค.๋์คํฌ์์ ์ฝ์ ๋ฐ์ดํธ ์์๋ ์ฟผ๋ฆฌ๋ ๋ฌธ์๋ณด๋ค ๋ ๋ง์ ๋ฐ์ดํธ๊ฐ ํฌํจ๋ฉ๋๋ค.
WiredTiger๋ ํ์ด์ง ๋จ์๋ก ์ฝ์ผ๋ฉฐ ํ์ด์ง์๋ ํ๋ ๋๋ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ๋ฌธ์๊ฐ ํ์ด์ง์ ์์ผ๋ฉด ํด๋น ํ์ด์ง์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์บ์๋ก ์ฝ์ด์์
bytesRead
๊ฐ์ ํฌํจํฉ๋๋ค.์บ์์ ํ์ด์ง ๊ด๋ฆฌ(์: ์ ๊ฑฐ ๋๋ ๋ค์ ์ฝ๊ธฐ)๊ฐ ํ์ํ ๊ฒฝ์ฐ
bytesRead
๊ฐ์๋ ์ด๋ฌํ ์์ ์ ๋์คํฌ์์ ์ฝ์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ฉ๋๋ค.์ธ๋ฑ์ค๊ฐ ์บ์์ ์๊ฑฐ๋ ์บ์์ ์ธ๋ฑ์ค๊ฐ ์ค๋๋ ๊ฒฝ์ฐ, WiredTiger๋ ๋์คํฌ์์ ์ฌ๋ฌ ๋ด๋ถ ๋ฐ ๋ฆฌํ ํ์ด์ง๋ฅผ ์ฝ์ด ์บ์์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ๊ตฌ์ฑํฉ๋๋ค.
system.profile.storage.data.timeReadingMicros
๋ฒ์ 4.2์ ์๋ก ์ถ๊ฐ๋จ: (4.0.9๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)
์์ ์ด ๋์คํฌ์์ ์ฝ๋ ๋ฐ ๊ฑธ๋ฆฐ ์๊ฐ(๋ง์ดํฌ๋ก์ด)์ ๋๋ค.
system.profile.storage.data.bytesWritten
๋ฒ์ 4.2์ ์๋ก ์ถ๊ฐ๋จ: (4.0.9๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)
์์ ์ผ๋ก ์ธํด ์บ์์์ ๋์คํฌ๋ก ์ฐ์ฌ์ง ๋ฐ์ดํธ ์์ ๋๋ค.
WiredTiger๋ ์ผ๋ฐ์ ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ๋์คํฌ์ ์ธ ํ์๊ฐ ์์ต๋๋ค. ์ฟผ๋ฆฌ์ ์ํด ์์ ๋ ๋ฐ์ดํฐ๋ ์ธ๋ฉ๋ชจ๋ฆฌ ์บ์์ ๊ธฐ๋ก๋๋ฉฐ, WiredTiger๋ ์ ๊ฑฐ ๋๋ ์ฒดํฌํฌ์ธํธ ์์ ์ ์ผ๋ถ๋ก ๋์คํฌ๋ก ํ๋ฌ์ํฉ๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ
bytesWritten
์ 0์ผ๋ก ํ์๋ฉ๋๋ค.์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ์ค๋ ๋์ ๊ฐ์ ํ์ด์ง ๊ด๋ฆฌ(์: ์ ๊ฑฐ)๊ฐ ํ์ํ ๊ฒฝ์ฐ WiredTiger๋ ํ์ด์ง ๋ด์ฉ์ ๋์คํฌ์ ์๋๋ค. ์ด ํ๋ฌ์์๋ ์ฟผ๋ฆฌ ์์ฒด์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ด๋ จ์ด ์๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด
bytesWritten
์ด ์์๋ณด๋ค ๋์ ๊ฐ์ ํ์ํ ์ ์์ต๋๋ค.
system.profile.storage.data.timeWritingMicros
๋ฒ์ 4.2์ ์๋ก ์ถ๊ฐ๋จ: (4.0.9๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)
์์ ์ด ๋์คํฌ์ ์ฐ๋ ๋ฐ ์์๋ ์๊ฐ(๋ง์ดํฌ๋ก์ด)์ ๋๋ค.
system.profile.storage.timeWaitingMicros.cache
๋ฒ์ 4.2์ ์๋ก ์ถ๊ฐ๋จ: (4.0.9๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)
์์ ์ด ์บ์์ ๊ณต๊ฐ์ ํ๋ณดํ๊ธฐ ์ํด ๋๊ธฐํด์ผ ํ๋ ์๊ฐ(๋ง์ดํฌ๋ก์ด)์ ๋๋ค.
system.profile.responseLength
์์ ๊ฒฐ๊ณผ ๋ฌธ์์ ๊ธธ์ด(๋ฐ์ดํธ)์ ๋๋ค.
responseLength
๊ฐ ํฌ๋ฉด ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ ์์ ์ ๋ํ ๊ฒฐ๊ณผ ๋ฌธ์์ ํฌ๊ธฐ๋ฅผ ์ ํํ๋ ค๋ฉด ๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.์ฐธ๊ณ
MongoDB๊ฐ ๋ก๊ทธ์ ์ฟผ๋ฆฌ ํ๋กํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ ๋
responseLength
๊ฐ์ ์ด๋ฆ์ดreslen
์ธ ํ๋์ ์์ต๋๋ค.
system.profile.protocol
MongoDB Wire Protocol ์์ฒญ ๋ฉ์์ง ํ์์ ๋๋ค.
system.profile.millis
mongod
๊ด์ ์์ ์์ ์์๋ถํฐ ์์ ์ข ๋ฃ๊น์ง์ ์๊ฐ(๋ฐ๋ฆฌ์ด)์ ๋๋ค.
system.profile.planSummary
๋ฒ์ 3.4์ ์๋ก ์ถ๊ฐ๋์์ต๋๋ค.
์คํ ๊ณํ์ ๋ํ ์์ฝ์ ๋๋ค.
system.profile.execStats
์ฟผ๋ฆฌ ์์ ์ ์คํ ํต๊ณ๊ฐ ํฌํจ๋ ๋ฌธ์์ ๋๋ค. ๋ค๋ฅธ ์์ ์ ๊ฒฝ์ฐ ๊ฐ์ ๋น ๋ฌธ์์ ๋๋ค.
system.profile.execStats
(์)๋ ํต๊ณ๋ฅผ ํธ๋ฆฌ๋ก ํ์ํ๋ฉฐ, ๊ฐ ๋ ธ๋๋ ์ฟผ๋ฆฌ ์์ ์ ํด๋น ๋จ๊ณ์์ ์คํ๋ ์์ ์ ๋ํ ํต๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค.์ฐธ๊ณ
๋จ๊ณ๋ณ๋ก ๋ฐํ๋๋ ํ๋๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์
execStats
์ ๋ํ ๋ค์ ํ๋ ๋ชฉ๋ก์ ์์ ํ ๊ฒ์ด ์๋๋๋ค.
system.profile.client
์์ ์ด ์์๋ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ์ IP ์ฃผ์ ๋๋ ํธ์คํธ ์ด๋ฆ์ ๋๋ค.
system.profile.appName
๋ฒ์ 3.4์ ์๋ก ์ถ๊ฐ๋์์ต๋๋ค.
์์ ์ ์คํํ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ณ์์ ๋๋ค.
appName
์ฐ๊ฒฐ ๋ฌธ์์ด ์ต์ ์ ์ฌ์ฉํ์ฌappName
ํ๋์ ๋ํ ์ฌ์ฉ์ ์ง์ ๊ฐ์ ์ค์ ํฉ๋๋ค.
system.profile.allUsers
์ธ์ ์ ๋ํ ์ธ์ฆ๋ ์ฌ์ฉ์ ์ ๋ณด(์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค)์ ๋ฐฐ์ด์ ๋๋ค. ์์ฒด ๊ด๋ฆฌ ๋ฐฐํฌ์๋ฒ์ ์ฌ์ฉ์๋ ์ฐธ์กฐํ์ธ์.