上线不久的一个项目,突然反映速度变得慢了很多。

测试插入数据:

> for (i = 1; i <= 100000; i++){

...
... db.test_customer.insert({
... "_id" : i,
... "user_id" : i

(30个字段)

})

测试插入结果如下:

> db.test_customer.find({},{_id:1,create_dt:1}).sort({_id:-1}).limit(2)
{ "_id" : 11176, "create_dt" : ISODate("2014-07-22T03:10:10.435Z") }

{ "_id" : 11175, "create_dt" : ISODate("2014-07-22T03:10:10.420Z") }

> db.test_customer.find({},{_id:1,create_dt:1}).sort({_id:1}).limit(2)
{ "_id" : 1, "create_dt" : ISODate("2014-07-22T03:01:23.935Z") }
{ "_id" : 2, "create_dt" : ISODate("2014-07-22T03:01:24.187Z") }
>

看到插入的时间差,1万多条记录。花了10分钟了。

怎么会这么慢呢。

后使用 mongotop 查看,访问集中在一个文档的读写中。

在使用另一个mongod 进程测试插入数据,发现 同样的代码,插入数据是正常的。1万数据也就几秒。

使用此方法排除了服务器硬件及服务器配置的问题。

mongod -port [otherport]  dbpath=/otherpath/otherdb

分析怀疑可能是数据库文件读写数据的瓶颈。

决定把访问读写特别多的那个 文档 【表】 分到另建立的一个数据库中去。

完成后,再测试插入。

再看插入的数据:

> db.test_customer.find({},{create_dt:1}).sort({_id:1}).limit(2)
{ "_id" : 1, "create_dt" : ISODate("2014-07-22T10:06:51.502Z") }
{ "_id" : 2, "create_dt" : ISODate("2014-07-22T10:06:51.509Z") }

> db.test_customer.find({},{create_dt:1}).sort({_id:-1}).limit(2)
{ "_id" : 10000, "create_dt" : ISODate("2014-07-22T10:06:58.016Z") }
{ "_id" : 9999, "create_dt" : ISODate("2014-07-22T10:06:58.015Z") }

>

可以看到 只用了7秒,比以前好多了。

看来还是有文件读写瓶颈。能分开的数据,还是分成多个数据库最好。

MONGODB 数据库文件读取的优化相关推荐

  1. SPSS数据文件读取

    简单地说,数据分析就是数据进行分析,从专业上说,数据分析就是依据分析目的,用适当的统计分析及工具,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据作用,为企业的营销.战略的制定提供帮助和支持. ...

  2. .dat数据文件怎么打开_SPSS统计分析,之一 SPSS数据文件读取

    简单地说,数据分析就是数据进行分析,从专业上说,数据分析就是依据分析目的,用适当的统计分析及工具,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据作用,为企业的营销.战略的制定提供帮助和支持. ...

  3. CVE-2021-43798 Grafana 未经授权的任意文件读取漏洞

    CVE-2021-43798 Grafana 未经授权的任意文件读取漏洞 目录 漏洞原理 漏洞信息 受影响版本 FOFA搜集相关资产 漏洞分析&漏洞复现 解决方案 漏洞原理 Grafana是一 ...

  4. Mongodb数据库转换为表格文件的库

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 却嫌脂粉污颜色,淡扫蛾眉朝至尊. ...

  5. php如何从mongo获取视频文件,使用mongodb对文件(图片、音频、视频)的存储、读取操作...

    使用mongodb对文件(图片.音频.视频)的存储.读取操作 实现代码示例: package mongo.util; import java.io.File; import java.io.IOExc ...

  6. mongodb数据库扩展名_MongoDB文件型数据库

    初始MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库 ...

  7. 怎样读取服务器上的数据库文件,如何读取服务器的数据库文件

    如何读取服务器的数据库文件 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 本手 ...

  8. c#大文件读取和写入数据库

    c#大文件读取和写入数据库(带进度条的源代码) 最近一个项目需要将大文件写入和读取到数据库,觉得可能很多人也需要相关得东西,所以就将代码帖出来 protected int state = 0; //表 ...

  9. php如何导入大文件数据库,PHP读取CSV大文件导入数据库的示例

    文章详细介绍了csv文件在php中快速导入到mysql数据库中的例子,虽然从最简单的几百MB的到最后使用插件实现几个GB数据导入中间有一些嗑碰了,但结果还是好的. 对于数百万条数据量的CSV文件,文件 ...

最新文章

  1. 云米冰箱能控制扫地机器人_用冰箱就能掌控全屋家电?云米21Face 428L确实可以...
  2. ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
  3. 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc
  4. Testlink使用心得
  5. c/c++ 两种文件流用法
  6. Mysql数据库(三)——mysql数据库高级操作
  7. springboot改文件头_SpringBoot图文教程4—SpringBoot 实现文件上传下载
  8. php 枚举类型比较,枚举的比较-python编程入门系列图文教程-PHP中文网教程
  9. Android 亮屏速度分析
  10. 多场景下的AI疫情防控“天网”:解读云边端联动下的全栈 AI 技术
  11. python中函数分为哪四类_Python函数参数分类原理详解
  12. jieba源码分析(一)
  13. Thread+Handler 线程 消息循环(转载)
  14. 帝国cms会员注册页跳过选择注册会员类型
  15. c语言单循环赛制,循环赛日程安排问题(分治法)
  16. 二元线性回归最小二乘法公式推导
  17. 解决iconfont 图标不显示问题
  18. 计算机语言工资排行,Python位居编程语言薪资排行榜前列!风变编程打造职场竞争力...
  19. 2021中国开源年会无锡城市分会场开源点亮无锡
  20. 关于服务器基本概念汇总

热门文章

  1. 常用设计模式之抽象工厂模式
  2. 20.毛玻璃效果blur
  3. Large-Scale Named Entity Disambiguation Based on Wikipedia Data
  4. thinkingback no5
  5. Leetcode-997 Find the Town Judge(找到小镇的法官)
  6. SQLSERVER 设置默认值
  7. 面向对象编程语言中的接口(Interface)
  8. [归并][随机算法] JZOJ P3765 想法
  9. how tomcat works
  10. 制作系统盘,重装新系统。