首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb高CPU -在特殊虚拟集合db.$cmd上的许多缓慢查询

Mongodb高CPU -在特殊虚拟集合db.$cmd上的许多缓慢查询
EN

Stack Overflow用户
提问于 2015-06-05 23:36:18
回答 2查看 1.3K关注 0票数 1

在诊断高CPU的mongodb时,我们发现了许多缓慢(6-7秒)的查询。所有这些都与"ns“有关:"mydb.$cmd”。

慢查询条目如下所示:

代码语言:javascript
复制
{
"_id" : ObjectId("5571b739f65f7e64bb806362"),
"op" : "command",
"ns" : "mydb.$cmd",
"command" : {
    "aggregate" : "MyCollection",
    "pipeline" : [ 
        {
            "$mergeCursors" : [ 
                {
                    "host" : "abc:27005",
                    "id" : NumberLong(82775337156)
                }
            ]
        }
    ]
},
"keyUpdates" : 0,
"numYield" : 0,
"lockStats" : {
    "timeLockedMicros" : {
        "r" : NumberLong(12),
        "w" : NumberLong(0)
    },
    "timeAcquiringMicros" : {
        "r" : NumberLong(2),
        "w" : NumberLong(2680)
    }
},
"responseLength" : 12312,
"millis" : 6142,
"execStats" : {},
"ts" : ISODate("2015-06-05T12:35:40.801Z"),
"client" : "1.1.1.1",
"allUsers" : [],
"user" : ""

}

我们不确定是哪部分代码导致了这些查询。我们应该如何继续查找/调试来自应用程序的哪些查询导致这些$cmd慢查询?

EN

回答 2

Stack Overflow用户

发布于 2015-06-23 06:52:42

这些日志实际上是对指定数据库(在本例中为mydb)运行command时发出的查询。因此,这只是针对您的MongoDB运行的某个聚合命令。

如果您的应用程序没有直接执行此操作,则似乎(如http://dbattish.tumblr.com/post/108652372056/joins-in-mongodb中所述)从v2.6开始使用$mergecursors变体来合并跨分片的查询。

票数 1
EN

Stack Overflow用户

发布于 2015-06-23 02:12:38

我的测试显示,MongoDB在处理并发请求时总是使用大约90-100%的CPU。这是因为我搬到了MySQL。我的应用程序使用thame simple查询的速度是MySQL的3倍,而且我使用的CPU要少得多。我将很快创建一个完全测试的artciel。现在,只需查看MongoDB和MariaDB的CPU使用率,就可以查询X=5、10、25、50、100、500、1000个并发连接。

代码语言:javascript
复制
siege -b -cX -t1M url

正如我所认识到的,高CPU使用率与高CPU使用率无关。我的意思是,即使是非常简单的并发请求查询也会使MongoDB占用100%的CPU。

所有测试使用1 1vCPU和1 1Gb内存,连接池大小为10

MongoDB

MySQL

我用不同的配置(4vCPU,6G内存)做了很多测试,MongoDB总是比MySQL使用更多的CPU。您可以尝试使用MongoDB:

  1. 更改连接循环大小。我希望你不要每次查询都打开连接。
  2. 你用的是Mongoose吗?尝试使用Native Nodejs MYSQL驱动程序-速度快得多。

我对读取数据的MongodDB感到非常失望。MySQL不仅使用更少的CPU,而且总是至少快3倍!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30670510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档