测试是由同事完成的,这里只做收藏。
测试说明:
1、数据量为3kw记录,每条记录11个字段,一个为主键,主键为字符类型,类似:user****,后续为数值
其他10字段为字符类型,100字符,记录长度大约为1KB
2、使用ycsb进行压力测试。具体各类型参考以前文档
3、三千万数据,对目前数据库都能缓存到DB中(后续测试缓存80%,50%,30%等情况下性能情况)
4、测试项包括:数据装载,就是insert数据
                      ycsb的标准负载a、负载b、负载c、负载d、负载e、负载f测试
                      都采用64线程进行压测,通过分析是最优的
                      mysql测试环境为innodb_buffer_pool_size=20G
                      mysql_100g为innodb_buffer_pool_size=100G
                      mongodb为cacheSizeGB=20G
                      mongodb_100g为cacheSizeGB=100G
负载a:read=0.5,update=0.5,insert=0,scan=0(无范围查询)
负载b:read=0.95,update=0.05,insert=0,scan=0(无范围查询)
负载c:read=100  ---纯读应用,scan=0(无范围查询)
负载d:read=0.95,insert=0.05,scan=0(无范围查询)
负载e:scan=0.95,insert=0.05,范围查询,范围为100
负载f:read=0.5,readmodifywriteproportion=0.5(读出记录,然后修改记录,然后写回记录)
各项指标测试结果:
  • IOPS测试
数据库类型
测试类型 mysql mongodb tokuMX couchbase
insert 13196.1154 77248.81715 36650.51286 92041.69321
a 17414.53382 120763.7097 56441.69009 171759.3308
b 68047.57887 99998.66668 98474.30477 159533.7361
c 65496.17721 96096.55782 96174.49901 97495.02775
f 16601.97431 83504.51759 58816.14856 112853.6551
d 66899.9244 100008.6674 97753.62177 101810.8761
e 2345.999594 2114.057191 2116.884482  
 
 
  • 插入延迟
  数据库类型
测试类型 mysql mongodb tokuMX couchbase
insert 9683.304403 1658.783526 3490.779132 1337.107262
d 2238.196522 687.4064251 751.8563847 1246.501145
e 19863.49348 13568.54149 12914.24357  
 
 
  • updsate延迟
数据库类型
测试类型 mysql mongodb tokuMX couchbase
a 6840.743134 649.0976047 1670.448293 685.4414804
b 2260.907568 774.5944686 721.1753008 773.1773418
f 6583.488954 572.8773741 1198.842941 722.6498385
 
 
读-修改-写延迟
  数据库类型      
测试类型 mysql mongodb tokuMX couchbase
d 7133.568479 1050.091246 1677.069403 1442.553442
 
 
  • 范围扫描延迟
数据库类型
测试类型 mysql mongodb tokuMX
e 24474.38263 31060.48241 31075.847
 
 
  • 存储大小(GB)
数据库类型
  mysql mongodb tokuMX couchbase
1千万 19 4.2 8.5 11.2
 
 
结论:
   1、所有NoSQL数据库的插入OPS读比MySQL强,其中couchbase最强,然后是mongoDB和tokuMX
   2、所有NoSQL数据库的插入延迟读比MySQL小,其中couchbase最强,然后是mongoDB和tokuMX
   3、读延迟最多的是couchbase,不如MySQL
   4、update延迟,NoSQL都比MySQL强
   5、范围扫描,MySQL比所有NoSQL强,由于couchbase测试问题未拿到数据(后续补充)
   6、数据容量NoSQL数据库比MySQL占空间小,依次为MySQL、couchbase、tokuMX、mongoDB

YCSB测试Mysql,MongoDB,TokuMX,Couchbase性能的更多相关文章

  1. 使用YCSB测试mongodb

    项目里面需要对mongodb的性能进行测试,看了下网上很多做法都是使用YCSB进行测试,因此开始学习使用YCSB. 参考资料: YCSB github地址:https://github.com/bri ...

  2. 【操作教程】利用YCSB测试巨杉数据库性能

    一.前言 巨杉数据库(SequoiaDB)是国内第一款新一代文档型分布式数据库,巨杉数据库由巨杉软件完全自主研发,拥有完全自主知识产权,不基于任何其它的开源项目.SequoiaDB数据库是为分布式存储 ...

  3. (转)MySQL自带的性能压力测试工具mysqlslap详解

    mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 ...

  4. python测试mysql写入性能完整实例

    这篇文章主要介绍了python测试mysql写入性能完整实例,具有一定借鉴价值,需要的朋友可以参考下 本文主要研究的是python测试mysql写入性能,分享了一则完整代码,具体介绍如下. 测试环境: ...

  5. HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比

    最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...

  6. MongoDB的真正性能-实战百万用户

    阅读目录 一.第一个问题:Key-Value数据库可以有好多的Key,没错,但对MongoDB来说,大错特错 二.第二个问题:FindOne({_id:xxx})就快么? 三.第三个问题:精细的使用U ...

  7. [转载]MongoDB的真正性能

    最近开始研究MySQL和MongoDB,发现这方面资料不多.尤其是真正的说到点子上的文章,太少了. 有一些对比测试的文章基本上都是瞎测,测试方法都测到了马腿上,得出的结论基本上都是NoSQL毫无价值 ...

  8. YCSB测试HBase远程完全分布式集群

    写在前面 本文只讲一个很简单的问题,YCSB对HBase集群的测试.虽然网上有很多介绍YCSB测试HBase的文章,但都是针对本地HBase伪分布式集群的.大家都知道,稍微正式一些的压测都会要求测试客 ...

  9. MYSQL使用PMM进行性能监控

    简介Percona监视和管理(PMM)是一个用于管理和监视MySQL和MongoDB性能的开源平台.它是由Percona与托管数据库服务.支持和咨询领域的专家合作开发的. PMM是一个免费的开源解决方 ...

随机推荐

  1. 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)

    在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题) 今天开始起在Chrome中调试,发现问题主要出在菜单栏(layout文件)中,google了 ...

  2. 视图(View) – ASP.NET MVC 4 系列

           精心编写的整洁代码是开发一个可维护 Web 应用程序的基础.但用户在浏览器中访问时,这些工作他们是看不见的.用户对应用程序的第一印象,以及与应用程序的整个交互过程都是从视图开始的.    ...

  3. jquery中$.ajax方法提交表单

    function postdata(){                        //提交数据函数 $.ajax({                                //调用jqu ...

  4. H5页面在QQ和微信上分享,为什么不能自定义设置图片和摘要?

    [记录]title标签中的页面标题为抓取标题.body内第一个img标签内的图片为自动抓取缩略图,图片宽高要大于300,如果不希望显示出来,将标签宽高皆设置为0.摘要显示为来源链接,如需自定义需要通过 ...

  5. js判断浏览器,包括Edge浏览器

    /* * 描述:判断浏览器信息 * 编写:LittleQiang_w * 日期:2016.1.5 * 版本:V1.1 */ //判断当前浏览类型 function BrowserType() { va ...

  6. selenium元素操作

    1.文本框(text field or textarea) element.sendKeys("test");//在输入框中输入内容: element.clear(); //将输入 ...

  7. Javascript中数组与字典(即map)的使用

    简述: 简单记录一下数据结构Map和数组, 其实在Javascript这种弱类型的脚本语言中,数组同时也就是字典,下面主要就是字典数组的简易使用   代码: 1. 数组中添加map <!DOCT ...

  8. centos 7 安装zabbix3.0

    1.安装MySQL 从最新版本的linux系统开始,默认的是 Mariadb而不是mysql! 使用系统自带的repos安装很简单: # yum install -y mariadb mariadb- ...

  9. 监控服务 - Nagios配置文件详解

    Nagios的配置文件: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服 ...

  10. C语言中,定义的含义?声明的含义?它们之间的区别是什么?

    在C语言中,对于定义和声明,也许我们非常的熟悉,但不一定真正的了解! 定义的含义:所谓定义,就是创建(编译器)一个对象,为这个对象分配一块内存空间并取名,也就是我们平常所说的变量名或对象名,一旦这个名 ...