¿Existe una herramienta equivalente como sql profiler para mongodb?
Frecuentes
Visto 2,049 veces
2
Me gustaría saber si existe una herramienta equivalente como sql profiler para mongodb. Específicamente, me gustaría ver qué consultas monogdb se generan y se ejecutan desde mi código.
Entonces, cuando tengo un código como:
var Logs = MvcApplication.MongoLoggingDatabase.GetCollection<Log>("Log")
.Find(queryDocument)
.Select(x => new LogDto { ModelNumber = x.Request.ModelNumber, Make = x.Request.Make, TimeStamp = x.TimeStamp, UserId = x.UserId })
.OrderByDescending(x => x.TimeStamp)
.Skip(pageSize * (page - 1))
.Take(pageSize);
Me gustaría saber qué consulta mongodb real se está generando y ejecutando para ayudar a optimizar mi código cuando consulta la base de datos.
1 Respuestas
3
MongoDB incluye un perfilador simple. Mira aquí: http://www.mongodb.org/display/DOCS/Database+Profiler
Si establece el nivel de creación de perfiles en 2, todas las consultas se escribirán en la colección "system.profiler" para que pueda echar un vistazo. Si establece el nivel de generación de perfiles en 1, solo se escribirán las consultas lentas (de forma predeterminada, se definen como consultas más lentas que 100 ms, pero este es un parámetro configurable).
Para diagnosticar consultas lentas, la funcionalidad "explicar" también es muy útil. Mira aquí http://www.mongodb.org/display/DOCS/Explain
Una vez que sepa qué consultas son lentas, puede usar la explicación para averiguar qué índice está usando (o no) la base de datos.
contestado el 22 de mayo de 12 a las 19:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas mongodb profiler or haz tu propia pregunta.