MongoDBインデックス統計を見つける方法


8

すべてのインデックスがRAMにキャッシュされているものを把握する方法はありますか?個々のインデックスのページ関連の統計(ヒット数とミス数)を知りたい

回答:


9

db.serverStatus()コマンドから、全体的な(インスタンス全体の)ヒット情報、特に次の情報を取得できます。

http://docs.mongodb.org/manual/reference/command/serverStatus/#serverStatus.indexCounters.hits http://docs.mongodb.org/manual/reference/command/serverStatus/#serverStatus.indexCounters.misses

これらの数値はプロセスの存続期間中に見られる合計であるため、レートを取得したり、経時的な傾向を確認したりする場合は、それらを定期的に記録し、それに応じて値を比較する必要があります。ありがたいことに、MMSモニタリングをインストールすると、それが自動的に行われ、結果がグラフ化されます。

ただし、現在利用可能なインデックスごとの統計はありません。関連する機能リクエストは、追跡および投票の目的でここにあります。

https://jira.mongodb.org/browse/SERVER-2227

更新:2016年1月

上記の統計情報は、server statusコマンドの出力から削除されているため、利用できなくなりました。ただし、参照されている機能のリクエストはこれで完了し、バージョン3.2では$indexStats集計演算子の形で利用できます(リンクされたドキュメントにもサンプル出力が含まれています)。完全を期すために、ここに私がまとめた例を示します。

クエリを実行する前に、デフォルト_idとの2つのインデックスしかありませんindexme。両方ともopsが0です。

> db.foo.aggregate( [ { $indexStats: { } } ] ).pretty()
{
    "name" : "indexme_1",
    "key" : {
        "indexme" : 1
    },
    "host" : "localhost:27017",
    "accesses" : {
        "ops" : NumberLong(0),
        "since" : ISODate("2016-01-12T19:03:01.358Z")
    }
}
{
    "name" : "_id_",
    "key" : {
        "_id" : 1
    },
    "host" : "localhost:27017",
    "accesses" : {
        "ops" : NumberLong(0),
        "since" : ISODate("2016-01-12T18:59:24.292Z")
    }
}

次に、いくつかの検索を実行して操作をオンにしindexme、もう一度確認します。

> db.timecheck.find({indexme: 33})
> db.timecheck.find({indexme: 55})

> db.timecheck.aggregate( [ { $indexStats: { } } ] ).pretty()
{
    "name" : "indexme_1",
    "key" : {
        "indexme" : 1
    },
    "host" : "localhost:27017",
    "accesses" : {
        "ops" : NumberLong(2),
        "since" : ISODate("2016-01-12T19:03:01.358Z")
    }
}
{
    "name" : "_id_",
    "key" : {
        "_id" : 1
    },
    "host" : "localhost:27017",
    "accesses" : {
        "ops" : NumberLong(0),
        "since" : ISODate("2016-01-12T18:59:24.292Z")
    }
}

ドキュメントから:「バージョン3.0で変更:サーバーステータス出力には、workingSet、indexCounters、recordStatsセクションが含まれなくなりました。」他のアイデアは?
serv-inc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.