MongoDB---性能优化---(1)
MONGODB数据架构
升级解决.计划
发现问题
应用server用户数的突然涌入,创建server反应慢
检查server,我发现,每次反应非常慢,至30ops
检查过程
.发现数据库查询缓慢
.检查索引
.检查内存占.用量
.检查TCP连接
对照測试1
.硬件配置:
.client:
.阿.里云,2cpu,2g内存。windows2008
.服务端:
.阿.里云,router:4cpu,4g内存。centos6.5 64位
.阿.里云。mongod:2cpu,8g内存,centos6.5 64位
.1.对router进.行測试。每秒200qps。
.2.对mongod进.行測试,每秒500qps。
.小结:使.用sharding架构,查询会.比直接对单台mongo查询慢。
对照測试2
.硬件配置:
.client:
.阿.里云,2cpu,2.5g内存,windows2008
.阿.里云,2cpu。2.0g内存,windows2008
.服务端:
.阿.里云。mongod:2cpu。2.5g内存,windows2008
.1.在本地2cpu,2.5g内存。windows2008进.行測试。查询速度达到3000qps,甚至有时候能突破5000qps。
.2.在2cpu,2.0g内存,windows2008对mongod进.行測试,查询速度500qps。
.小结:tcp对..网络有非常.大的影响。
对照測试3
.硬件配置:
.client:
.物理机,2cpu,4.0g内存,windows2008
.服务端:
.物理机,mongod:2cpu,4.0g内存,centos6.5 64位
.物理机,router:2cpu。4.0g内存。centos6.5 64位
.1.对mongod进.行測试。查询速度1000qps。
.2.对router进.行測试。查询速度500qps。
.小结:阿.里云存在.一定的限制。使得速度有上限。
对照測试4
.硬件配置:
.client:
. ucloud,2cpu。4.0g内存,windows2008
.服务端:
. ucloud,mongod:2cpu,4.0g内存。centos6.5 64位
. ucloud,router:2cpu。4.0g内存,centos6.5 64位
.1.对mongod进.行測试,查询速度2000qps。
.2.对router进.行測试,查询速度1000qps。
.小结:ucloud.比阿.里云的机器性能好。
对照測试5
.硬件配置:
.client:
. ucloud,16cpu,64.0g内存,windows2008
.服务端:
. ucloud,mongod:16cpu,64.0g内存,centos6.5 64位
. ucloud。router:16cpu,64.0g内存,centos6.5 64位
.1.对mongod进.行測试,查询速度13000qps。
.2.对router进.行測试,查询速度10000qps。
.小结:至此最终找到问题根结,clientcpu核数决定mongodb查询速度。
结论
1.阿.里云的云主机有做某些限制,导致.不管怎样设定系统。数据库的配置,都.无法突破.一个数量级的qps。
2.clientcpu核数决定mongodb查询速度。
3.tcp的限制通过.走内..网能够避免。
4.linux操作系统胜过windows。
因此mongodb架构在linux上.比架构在windows上更好。
最新架构
最新架构
极限性能測试
.以上.面最新架构进.行測试:
.打开4个iisclient,同一时候对router进.行查询。
router能够达到每秒20000次查询。
换成业务对照。即每秒能够应付2000个人。
性能结论
.为了保证线上业务的正常运.行,数据库所在的server须要8cpu,16g内存。
.为了保证备份的完整性。因此正确slave数据库备份,正确router备用。备份保留30天。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
MongoDB---性能优化---(1)的更多相关文章
- MongoDB 性能优化五个简单步骤
MongoDB 一直是最流行的 NoSQL,而根据 DB-Engines Ranking 最新的排行,时下 MongoDB 已经击败 PostgreSQL 跃居数据库总排行的第四位,仅次于 Oracl ...
- mongodb可以通过profile来监控数据 (mongodb性能优化)
mongodb可以通过profile来监控数据 (mongodb性能优化) 开启 Profiling 功能 ,对慢查询进行优化: mongodb可以通过profile来监控数据,进行优化. 查看 ...
- MongoDB性能优化
一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引 ...
- MongoDB性能优化指南
一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引 ...
- 开发高性能的MongoDB应用—浅谈MongoDB性能优化(转)
出处:http://www.cnblogs.com/mokafamily/p/4102829.html 性能与用户量 “如何能让软件拥有更高的性能?”,我想这是一个大部分开发者都思考过的问题.性能往往 ...
- 开发高性能的MongoDB应用—浅谈MongoDB性能优化
关联文章索引: 大数据时代的数据存储,非关系型数据库MongoDB 性能与用户量 “如何能让软件拥有更高的性能?”,我想这是一个大部分开发者都思考过的问题.性能往往决定了一个软件的质量,如果你开发的是 ...
- 【MongoDB】MongoDB 性能优化 - BI查询聚合
在BI服务中通过查询聚合语句分析定位慢查询/聚合分析,小结如下: 慢查询定位: 通过Profile分析慢查询 对于查询优化: 通过添加相应索引提升查询速度: 对于聚合大数据方案: 首先要说明的一个问题 ...
- Liunx下Mysql,MongoDB性能优化的配置
场景 这几天在赶十一上线的项目,但是突然发现接口性能不好,高并发支持不住.又不想改代码,就在数据库层面进行优化. Mysql 分区:项目中有对40万条的数据进行时间查询的要求,就算对DateTime建 ...
- MongoDB 性能优化
Read Preferences/读写分离 有时候为了考虑应用程序的性能或响应性,为了提高读取操作的吞吐率,一个常见的措施就是进行读写分离,MongoDB副本集对读写分离的支持是通过Read Pref ...
- MongoDB实战性能优化
1. 性能优化分类 mongodb性能优化分为软件层面和操作系统层面. 软件层面,一般通过修改mongodb软件配置参数来达到,这个需要非常熟悉mongodb里面的各种配置参数: 而操作系统层面,相对 ...
随机推荐
- poj3308Paratroopers(最小割)
题目请戳这里 题目大意:给一个n*m的矩阵,给一些点(ri,ci)表示该点在第ri行第ci列.现在要覆盖所有的点,已知覆盖第i行代价为Ri,覆盖第j列代价为Cj.总代价是累乘的,求最小总代价能覆盖所有 ...
- BZOJ 1087
var f:..,..,..] of int64; a:Array[..] of longint; count:..] of longint; ans:int64; n,m:longint; proc ...
- BZOJ 1797: [Ahoi2009]Mincut 最小割( 网络流 )
先跑网络流, 然后在残余网络tarjan缩点. 考虑一条边(u,v): 当且仅当scc[u] != scc[v], (u,v)可能出现在最小割中...然而我并不会证明 当且仅当scc[u] = scc ...
- js回调函数2
使用sublime结合node.js来写js代码特别爽,具体网上有教程.详见:http://blog.csdn.net/dududu01/article/details/42804367 ,其中最主要 ...
- Xcode6项目运行在真机上未铺满整个屏幕
如图 解决见图: 再次运行:
- DE1-SOC的sof文件无法下载解决办法
按照前面友晶科技的文档介绍一步步的做,后面发现根本无法下载sof文件. 通常思维: 一,器件选错了.器件选择错误会导致sof文件无法下载,至于这个ID具体怎么识别我没有追究.如果是这种错误Quartu ...
- 深入JDK源码之Arrays类中的排序查找算法(转)
原文出处: 陶邦仁 binarySearch()方法 二分法查找算法,算法思想:当数据量很大适宜采用该方法.采用二分法查找时,数据需是排好序的. 基本思想:假设数据是按升序排序的,对于给定值x,从序列 ...
- 基于visual Studio2013解决算法导论之048红黑树
题目 红黑树 解决代码及点评 // 红黑树.cpp : 定义控制台应用程序的入口点. // #include <stdio.h> #include <stdlib.h> ...
- JAVA思维导图系列:多线程0基础
感觉自己JAVA基础太差了,又一次看一遍,已思维导图的方式记录下来 多线程0基础 进程 独立性 拥有独立资源 独立的地址 无授权其它进程无法訪问 动态性 与程序的差别是:进程是动态的指令集合,而程序是 ...
- JAVA操作Hbase基础例子
package com.cma.hbase.test; import java.io.BufferedInputStream; import java.io.BufferedReader; impor ...