MongoDB计算查询性能

时间:2016-03-07 13:29:39

标签: performance mongodb

MongoDB中的计数性能有问题。

我使用ZF2和Doctrine ODM与SoftDelete过滤器。现在当查询"第一次"使用db.getCollection('order').count({"deletedAt": null})收集,大约需要30秒,有时甚至更多。第二次和更多查询大约需要150ms。几分钟后,查询再次需要大约30秒。这仅适用于尺寸为>的集合。 700MB。

服务器是Amazon EC2 t2.medium实例,Mongo 3.0.1

也许它与MongoDB preload documents into RAM for better performance相似,但这些答案并没有解决我的问题。

任何想法发生了什么?

/编辑

解释

{
"executionSuccess" : true,
"nReturned" : 111449,
"executionTimeMillis" : 24966,
"totalKeysExamined" : 0,
"totalDocsExamined" : 111449,
"executionStages" : {
    "stage" : "COLLSCAN",
    "filter" : {
        "$and" : []
    },
    "nReturned" : 111449,
    "executionTimeMillisEstimate" : 281,
    "works" : 145111,
    "advanced" : 111449,
    "needTime" : 1,
    "needFetch" : 33660,
    "saveState" : 33660,
    "restoreState" : 33660,
    "isEOF" : 1,
    "invalidates" : 0,
    "direction" : "forward",
    "docsExamined" : 111449
},
"allPlansExecution" : []
}

0 个答案:

没有答案