如何解决MogoDB-在PSA副本集上查询变得非常缓慢
我有一个MongoDB副本集,其中有一个主服务器,一个仲裁器,一个有表决权的辅助服务器和两个没有表决权的辅助服务器。
两个不带投票的辅助轴承是裸机mongo安装,以帮助进行繁重的聚合查询。 (每个16cores / 128GBRam / SSD)
副本集成员配置在问题的底部。
以下查询每分钟针对不同的集合(〜10)多次运行(大约100次)。
查询在最坏的情况下花费的时间不超过2秒。
大约一周前,我注意到依赖该查询的应用程序在超时时出错。我已经对副本集连接(mongo + srv)或单个成员运行了查询-结果相同-“ 超时 ”
我无法回忆起引起此问题的任何事件,我想知道查询是否可能由于某种原因从根本上构造错误而导致问题。
我已经为字段“ 属性”,“ attributes.deleted ”,“ attributes.archieved ”,“ last_extracted”建立了索引”,但这没有帮助。
集合的大小在2gb / 50k记录到10gb / 150k记录之间。
此查询有问题吗?
db.getCollection("threads").aggregate(
[{'$match':
{'$and':
[{'$or':
[{'attributes':
{'$exists': false}},{'attributes.deleted':
{'$exists': false}},{'attributes.deleted': {'$eq': false}}]},{'$or':
[{'attributes.archived':
{'$exists': false}},{'attributes.archived':
{'$eq': false}}]}
]}},{'$project': {'_id': 1,'url': 1,'last_extraction': 1}},{'$sort': {'last_extraction': 1}},{'$limit': 1}
])
副本集成员配置
rs0:SECONDARY> cfg.members
[
{
"_id" : 1,"host" : "XXXXXX1:27777","arbiterOnly" : false,"buildindexes" : true,"hidden" : false,"priority" : 0.8,"tags" : {
},"slaveDelay" : NumberLong(0),"Votes" : 1
},{
"_id" : 2,"host" : "XXXXX2:27777","priority" : 0.2,{
"_id" : 3,"host" : "XXXXX3:27777","arbiterOnly" : true,"priority" : 0,{
"_id" : 4,"host" : "XXXXXX4:27777","Votes" : 0
},{
"_id" : 5,"host" : "XXXXXXX5:27776","Votes" : 0
}
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。