mongodbはprofileでデータを監視する

12442 ワード

mongodbはprofileでデータを監視し、最適化することができます.現在profile機能用コマンドdbがオンかどうかを確認します.getProfilingLevel()はlevelレベルを返し、値は0|1|2で、それぞれ意味を表します:0は閉じることを表し、1は遅いコマンドを記録することを表し、2はすべてprofile機能コマンドを開くことを表します
db.setProfilingLevel(level); #level  ,   

 
レベルが1の場合、スローコマンドのデフォルト値は100 msで、
dbに変更します.setProfilingLevel(level,slowms)例えばdb.setProfilingLevel(1,50)これで50ミリ秒に変更
dbを通過する.system.profile.find()現在の監視ログを表示します.
/* 1 */
{
    "op" : "query",
    "ns" : "config.system.profile",
    "command" : {
        "find" : "system.profile",
        "filter" : {},
        "$readPreference" : {
            "mode" : "secondaryPreferred"
        },
        "$db" : "config"
    },
    "keysExamined" : 0,
    "docsExamined" : 0,
    "cursorExhausted" : true,
    "numYield" : 0,
    "locks" : {
        "Global" : {
            "acquireCount" : {
                "r" : NumberLong(2)
            }
        },
        "Database" : {
            "acquireCount" : {
                "r" : NumberLong(1)
            }
        },
        "Collection" : {
            "acquireCount" : {
                "r" : NumberLong(1)
            }
        }
    },
    "nreturned" : 0,
    "responseLength" : 94,
    "protocol" : "op_command",
    "millis" : 32,
    "planSummary" : "COLLSCAN",
    "execStats" : {
        "stage" : "COLLSCAN",
        "nReturned" : 0,
        "executionTimeMillisEstimate" : 0,
        "works" : 2,
        "advanced" : 0,
        "needTime" : 1,
        "needYield" : 0,
        "saveState" : 0,
        "restoreState" : 0,
        "isEOF" : 1,
        "invalidates" : 0,
        "direction" : "forward",
        "docsExamined" : 0
    },
    "ts" : ISODate("2019-01-18T03:10:06.731Z"),
    "client" : "192.168.0.72",
    "appName" : "MongoDB Shell",
    "allUsers" : [ 
        {
            "user" : "root",
            "db" : "admin"
        }
    ],
    "user" : "root@admin"
}