Cómo encontrar las estadísticas del índice MongoDB


8

¿Hay alguna forma de que podamos averiguar qué todos los índices se almacenan en caché en la RAM? Quiero saber las estadísticas relacionadas con la página para los índices individuales (número de aciertos y errores)

Respuestas:


9

Puede obtener información general (éxito de toda la instancia) del db.serverStatus()comando, y en particular:

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

Estos números son totales vistos durante la vida útil del proceso, por lo que si desea obtener una tasa o ver la tendencia a lo largo del tiempo, deberá registrarlos periódicamente y diferenciar los valores en consecuencia. Afortunadamente, si instala MMS Monitoring , lo hará por usted y graficará los resultados.

Sin embargo, actualmente no hay estadísticas disponibles por índice. La solicitud de función relevante se puede encontrar aquí para fines de seguimiento y votación:

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

Actualización: enero de 2016

Las estadísticas mencionadas anteriormente se han eliminado de la salida del comando de estado del servidor, por lo que ya no están disponibles. Sin embargo, la solicitud de característica referenciada ahora está completa y está disponible en la versión 3.2 en forma de $indexStatsoperador de agregación (los documentos vinculados también contienen resultados de muestra). Para completar, aquí hay un ejemplo que puse juntos:

Antes de cualquier consulta, tengo solo 2 índices, el predeterminado _idy indexmeambos con 0 operaciones:

> 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")
    }
}

Luego ejecuta un par de hallazgos para activar las operaciones indexmey verificar nuevamente:

> 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")
    }
}

de los documentos: "Modificado en la versión 3.0: la salida del estado del servidor ya no incluye las secciones workingSet, indexCounters y recordStats". ¿Alguna otra idea?
serv-inc
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.