Mongodb 占用99%CPU并且查询速度很慢原因查找笔记。
来源:互联网 发布:adobe cc 2015 mac 编辑:程序博客网 时间:2024/04/28 03:46
最近一直在用Mongodb,因为只是小项目,所以了解的不是很深入,并且只期望够用就没有进行深入研究。
但是,最近把Mongodb迁移了机器之后,发现特别慢,而且Mongodb 一直占据99%的CPU, 于是就开始了下面的纠结旅程。
网上查了好久, 有的说是因为Mongodb部署在NUMA的机器上会有CPU分配策略问题,(详见http://www.cnblogs.com/Lifehacker/p/database_swap_insanity_on_Linux.html)
我查看Mongodb的log,发现在Mongodb启动时,log确实有记录关于NUMA的warn, 如下。
但是当我按要求加上numactl重启数据库后,发现情况并未改变。
后来,网上又看到有人讲可能是因为Mongodb.lock文件导致数据库试图不停重启服务。(详见http://stackoverflow.com/questions/10747580/mongodb-service-at-100-cpu)
后来我删掉Mongodb.lock文件并进行修复, Mongodb --repair。 但修复之后,数据库速度并未明显提升, Mongodb依然占据超高CPU。
在我快崩溃的时候,看到有大牛讲,Mongodb不能和redis部署在同一个机器上,否则Mongodb会吃掉redis的所有内存。(详见http://stackoverflow.com/questions/10696463/mongodb-with-redis)
但是我停掉机器上的redis后,发现情况依然没有改观!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
然后我重新看了《Mongodb权威指南》, 然后想起,因为程序有将近40个线程一直在不停的查询数据库并插入, 而我竟然没有在数据库中建索引, so。。。。。。
数据库不停翻书,翻书,翻书。。。。。。。。。。 然后抽插,抽查。。。。。。
然后我建立索引:
Mongodb的CPU使用率瞬间降下来了,并且速度超快,抽查也顺利起来了。
- Mongodb 占用99%CPU并且查询速度很慢原因查找笔记。
- 查询速度慢的原因查找
- 查询速度慢的原因
- 查询速度慢的原因
- mongodb查询速度慢是什么原因?
- 数据库查询速度慢的原因
- 分析查询速度慢的原因
- SQL查询速度慢的原因很多
- Oracle查询速度慢的原因总结
- sql语句查询速度慢的原因
- sql查询速度慢的原因
- Oracle查询速度慢的原因总结
- solr占用CPU持续过高原因查询
- Solr占用CPU持续过高原因查询
- ADSL速度变慢原因查找和排除
- 线上CPU很高、内存占用很少,如何快速查找到原因?
- linux下查找java进程占用CPU过高原因
- 上网速度很慢的若干原因
- c struct offsetof
- ibatis中动态SQL_update
- 习题1.2找出1~100中的质数(穷举法)
- 用 Python 脚本实现对proc读写 Linux 服务器的监控
- 分布式搜索 Lucene全文检索基本原理
- Mongodb 占用99%CPU并且查询速度很慢原因查找笔记。
- 移动里,更重要的事是基于连接、选择去赚钱?BAT都正在实践王小川这个判断
- 自定义GridView宽高设置问题,
- 递归与尾递归
- 使用spring mvc 下载文件
- OpenCV函数解读之groupRectangles
- PHP草根论之设计模式-迭代器模式
- Gridview动态设置子项的宽高
- slidingMenu的使用教程