1

这是我的开发环境的 MongoDB 服务器状态。

  db.serverStatus()
{
        "version" : "1.6.5",
        "uptime" : 792725,
        "uptimeEstimate" : 790787,
        "localTime" : "Fri Sep 06 2013 11:05:32 GMT-0400 (EDT)",
        "globalLock" : {
                "totalTime" : 792724778241,
                "lockTime" : 8441722074,
                "ratio" : 0.010648994841225452,
                "currentQueue" : {
                        "total" : 0,
                        "readers" : 0,
                        "writers" : 0
                }
        },
        "mem" : {
                "bits" : 64,
                "resident" : 3729,
                "virtual" : 13764,
                "supported" : true,
                "mapped" : 12443
        },
        "connections" : {
                "current" : 94,
                "available" : 7906
        },
        "extra_info" : {
                "note" : "fields vary by platform",
                "heap_usage_bytes" : 726448,
                "page_faults" : 403439
        },
        "indexCounters" : {
                "btree" : {
                        "accesses" : 1804253,
                        "hits" : 1803993,
                        "misses" : 260,
                        "resets" : 0,
                        "missRatio" : 0.0001441039588128716
                }
        },
        "backgroundFlushing" : {
                "flushes" : 13211,
                "total_ms" : 176124,
                "average_ms" : 13.331617591401105,
                "last_ms" : 9,
                "last_finished" : "Fri Sep 06 2013 11:04:48 GMT-0400 (EDT)"
        },
        "cursors" : {
                "totalOpen" : 0,
                "clientCursors_size" : 0,
                "timedOut" : 8
        },
        "repl" : {
                "ismaster" : true
        },
        "opcounters" : {
                "insert" : 512974,
                "query" : 18735335,
                "update" : 6690119,
                "delete" : 217251,
                "getmore" : 19071,
                "command" : 8616326
        },
        "asserts" : {
                "regular" : 0,
                "warning" : 0,
                "msg" : 0,
                "user" : 69117,
                "rollovers" : 0
        },
        "ok" : 1
}

我的问题是是否可以查看发生索引未命中的值(查询)。

我已经 db.setProfilingLevel(2) 使用 mongoexport 选项将分析级别设置为从 system.profile 集合中收集的记录。

4

1 回答 1

3

您应该知道,indexCounters.btree.misses这并不表示在索引中未找到值;这意味着当服务器尝试访问索引页时,它不在内存中,因此必须对其进行分页。

未在索引中找到特定值的查询只是未找到满足查询的结果的查询。

记录“有问题的”查询的一种方法是使用该slowms选项。任何花费超过给定毫秒数的查询都会被写入日志文件。

您指定slowms为 db.setProfilingLevel() 的可选第二个参数,有关详细信息,请参见此处

于 2013-09-06T16:28:19.497 回答