mongodb测试小结-tina

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:
                         mongodb测试小结 

一、基础配置 
1)硬件 
双核  8G  100G硬盘 
2)集群 
1 台mongos、config服务器;3台分片;1台独立mongod存放count_temp统计表 

二、测试结果 
1)中间数据的处理: 
3台分片机上 分别跑3个进程,共9个进程,约为430w/h,5000w的数据大概需要11.6h 
3台分片机上 分别跑5个进程,共15个进程,约为840w/h,5000w的数据大概需要6h 
(5个进程会比3个进程分得更平均,速度也要快许多) 

2)count_temp统计: 
1台独立mongod,开单个进程 1800w/h ,5000w数据大概需要2.7h 
                 开两个进程 2300w/h ,5000w数据大概需要2.1h 

三、负载 
数据的插入和中间数据的处理,机器的负载都不高: 
A、 插入主要消耗内存,跟前面的4G测试相比,要稍微低一些 
B、 中间数据的处理通过php进行,会占用较高的cpu,但每台分片机大概也就在20%左右 

数据的统计,cpu会比较高: 
单进程统计,需要消耗30-40%左右的cpu;2个进程, cpu约是70-80% 
因此也不敢开太多,这比之前多台机器分别进行单进程统计稍微慢一点点,但持续时间并不长,且统计程序独立运行,速度还是可以的。 


四、测试总结 
4G和8G测试对比,效果并不显著,速度没提升上来是受到php的处理和统计的速度限制; 
4G和8G的内存,mongo的插入都是非常快的,预计至少可以支撑1亿左右的数据插入; 
后来我们考虑到中间数据单独存放,会比在分片上又插入又读取要方便快捷,因此改变策略, 
加上php使用了多进程,速度显著提升,比之前3000kw/22h 要快了一倍不止。 

8G多一个分片的对比,效果也不显著,应该受到了各分片之间的数据会互相迁移的影响,分片越多,需要迁移的就越多,某种程度上,反而会降低了效率。 
但多个分片,对最终表count_temp的统计是有利的。 

结论:就最后一次测试的方案,进行syslog-ng日志数据分国家的统计是可行的。配置方面,保存一个星期的数据进行统计没什么问题。 
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
存储 NoSQL Oracle
Mongodb的下载安装和测试|学习笔记
快速学习Mongodb的下载安装和测试
113 0
Mongodb的下载安装和测试|学习笔记
|
存储 NoSQL 网络协议
MongoDB系列-复制集(Replica Set)应用部署(生产、测试、开发环境)
通过在不同的计算机上托管mongod实例来尽可能多地保持成员之间的分离。将虚拟机用于生产部署时,应将每个mongod实例放置在由冗余电源电路和冗余网络路径提供服务的单独主机服务器上,而且尽可能的将副本集的每个成员部署到自己的计算机绑定到标准的MongoDB端口27017。
426 0
|
NoSQL 测试技术 PHP
部署MongoDB扩展并测试使用php简单连接操作之
1,下载MongoDB数据库扩展介质 wget http://pecl.php.net/get/mongo-1.5.1.tgz 2,tar  zxvf mongo-1.5.1.tgz && cd mongo-1.
696 0
|
NoSQL 数据库 MongoDB
在测试Adhesive的时候发现一个Mongodb官方驱动1.1.0.4184比较严重的BUG
在测试Adhesive的时候发现,使用过一段时间后台之后,就会不能连接到数据库,查看日志发现报的错误大致是 connection refused because too many open connections: 819 通过mongostat查看连接数的确很夸张有近819个连接,尝试在启动的...
853 0