分享

采用mongodb数据库储存卡口数据

yisun123456 发表于 2017-9-22 14:28:18 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 4765
1.查询速度随着数据量的增大,变得很慢,如何破解
2.想通过大数据进行分析数据,最好是时时处理 有什么完美的解决方案吗
3.对于mongodb 常用的优化手段有哪些
麻烦各位前辈 解答 拜求

已有(1)人评论

跳转到指定楼层
qcbb001 发表于 2017-9-22 17:16:55
1.查询速度随着数据量的增大,变得很慢,如何破解
可以读写分离,创建索引等方式
2.想通过大数据进行分析数据,最好是时时处理 有什么完美的解决方案吗
实时可以使用spark或则storm。
3.对于mongodb 常用的优化手段有哪些
常用手段,当然首先从设计阶段就需要优化。如果设计不合理,性能会非常的慢。
还有可以读写分离,创建索引,优化磁盘等:
mongodb磁盘性能调优:  
主要是可以通过看  
1.可以通过linux下的 vmstat 1 999 ,如果其中si,so数值较大说明内存是不够了,需要加大内存  
2. 执行mongostat 命令,如果其中faults值较大,那也说明内存上有问题,因为它的失页中断发生次数太多了导致有很多数据是要从硬盘中换入到内存中  
在上述情况下就会有大量的数据需要从硬盘交换到内存中,导致硬盘性能跟不上,直接就导致整个mongodb性能低下。  
3.用iostat -x查看,发现目前我们的系统iowait:37.33%,一般在25%以上就会有可能在硬盘上存在性能问题,await值:2069.10,说明应用磁盘队列要等2秒以上,等待的时间太长了,说明硬盘上明显存在性能问题。同时svctm值超过15,util值100%,这样就说明目前时间就耗在硬盘上了。  
await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。  

4.用hdparam -tT /dev/sda这样的命令可以得到硬盘的速度报告  

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条