Mongodb在 高并发的时候查询特别慢的问题

leonbingo 2017-05-12 11:51:04
mongodb在访问量大的时候遇到了性能问题。

同样一个查询,在访问量少的时候,100ms就能解决,但是访问量大的时候几十秒都无法查询出来。

当访问量大的时候, db.currentOp(), 会发现数据库里面有非常多的查询等待执行。请看下面的打印日志,发现timeAcquiringMicros的时间特别长,是在等待什么锁吗,动则十秒上百秒的,也不知道是为什么。

我数据库的设计都是按照key value的形式来的,只有一个索引,也只会按照这个索引来查询,没有任何复杂查询,数据库里面也只有添加,删除和查询三种操作。 请各位大神看看,到底是什么引起的这个问题。 数据库里面的记录在百万-千万之间,访问量大的时候每天最多20w pv左右,有可能单位时间的访问量会比较大, cpu和内存也都没有满载

{
"desc" : "conn7006",
"threadId" : "14028",
"connectionId" : 7006,
"client" : "127.0.0.1:58982",
"active" : true,
"opid" : 15131018,
"secs_running" : 0,
"microsecs_running" : NumberLong(77711),
"op" : "query",
"ns" : "SuperMirror_Limited.SuperMirrorSettingCollection
",
"query" : {
"find" : "SuperMirrorSettingCollection",
"filter" : {
"Key" : "SpidersCacheKey"
}
},
"planSummary" : "IXSCAN { Key: 1 }",
"numYields" : 1,
"locks" : {
"Global" : "r",
"Database" : "r"
},
"waitingForLock" : true,
"lockStats" : {
"Global" : {
"acquireCount" : {
"r" : NumberLong(4)
}
},
"Database" : {
"acquireCount" : {
"r" : NumberLong(2)
},
"acquireWaitCount" : {
"r" : NumberLong(2)
},
"timeAcquiringMicros" : {
"r" : NumberLong(300543)
}
},
"Collection" : {
"acquireCount" : {
"r" : NumberLong(1)
}
}
}
...全文
3261 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
方丈的寺院 2017-07-02
  • 打赏
  • 举报
回复
这个问题在mongo中貌似很常见。
rucypli 2017-05-16
  • 打赏
  • 举报
回复
版本多少 除了普通的查询 有没有大量加表删表操作 删除修改操作是否频繁 磁盘是否满负荷 如果不是最新版本 可以尝试升级一个小版本试试
leonbingo 2017-05-16
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
MMAP引擎?
不是的,是WiredTiger, 我有700多个collection,每个collection都有1-2w数据
rucypli 2017-05-15
  • 打赏
  • 举报
回复
MMAP引擎?
内容概要:本文提出了一种针对梯级水光互补系统的短期优化调度模型,旨在最大化可再生能源的可消纳电量期望。该模型深度融合水电与光伏发电的出力特性,综合考虑水资源约束、光照波动性及电力系统平衡要求,构建了具有工程实用性的优化框架。通过Matlab代码实现了完整的求解流程,涵盖了数据预处理、模型构建、约束处理与结果可视化等环节,有效提升了清洁能源的利用效率与电力系统运行的稳定性。资源包含可复现的完整代码与配套说明,便于开展算法验证、改进与二次开发,适用于高水平科研项目与实际工程应用。; 适合人群:具备电力系统分析基础和Matlab编程能力,从事新能源优化调度、智能电网运行、可再生能源集成等方向的科研人员及研究生;特别适用于需完成EI期刊论文复现、课题攻关或撰写高质量学术论文的研究者。; 使用场景及目标:①复现EI期刊级别的梯级水光互补调度模型,支撑高水平论文写作;②深入理解可再生能源协同调度中的建模方法与优化算法实现机制;③为电力系统短期调度提供高精度、模块化、可扩展的仿真平台,服务于科研创新与工程实践。; 阅读建议:此资源以Matlab代码为核心载体,建议读者结合优化理论与电力系统背景知识,逐模块调试代码并剖析算法逻辑,同时参考提供的网盘资料进行对比分析与性能优化,从而全面提升科研复现能力与系统建模水平。

1,797

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧