测试是由同事完成的,这里只做收藏。
测试说明:
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. Lua简介

    Lua是一种扩展语言,脚本语言,还没有主程序的概念,类似于插件,也即不能直接使用,必须嵌入在牛逼的语言里使用,如Python. Lua由C语言编写,可以在宿主语言里写一段c程序,让Lua的解释器使用, ...

  2. 闪回恢复区大小不够。报ORA-19809、ORA-19804

    问题: 闪回恢复区大小不够,rman默认备份路径报错.RMAN> backup database;Starting backup at 01-DEC-14using target databas ...

  3. php中判断字符串是否全是中文或含有中文的实现代码

    <?php header('Content-type:text/html; charset=utf-8'); $str = '你好'; if(preg_match('/^[\x{4e00}-\x ...

  4. asp.net 自定义控件 嵌入资源文件 备忘

    要想在自定义用户控件中嵌入资源,从以下几个步骤入手: 1.在AssemblyInfo.cs中注册资源,文件夹层级用点隔开.例如: [assembly: System.Web.UI.WebResourc ...

  5. #uwp# XMAL

    类型转换 在xaml中对属性赋值时,会将填入的字符串转换成对应的属性类型.比如: <Button Visibility="Visible" /> 会将Visible这个 ...

  6. CSS定位position

    position选项来定义元素的定位属性,选项有5个可选值:static.relative.absolute.fixed.inherit 属性值为relative.absolute.fixed时top ...

  7. [Linux] - Docker 常用命令

    # 运行docker # -it表示前端运行 docker run -it centos /bin/echo haha # 后端运行并映射80端口 docker run -dt -p : --name ...

  8. 承接Holograms外包 Holograms内容定制 Holograms场景外包开发

    HoloLens仿真器与文档现已向开发者们开放 如何为Microsoft HoloLens全息眼镜开发应用? 每款运行Windows 10的设备都使用了相同统一的Windows内核.所以你学习了所有有 ...

  9. 梦想还是要有的-纪念正式成为csdn博客专家暨年中总结

    csdn博客:http://blog.csdn.net/tuzongxun 我的csdn历程(坚持总会有收获):   一年零三个月之前,2015年3月3日,我在csdn写下第一篇技术博客,只是记录了一 ...

  10. Bower 自定义组件文件夹名称

    默认情况下, bower 会自动把文件安装在文件夹 bower_components 下面,如果希望自定义这个文件夹的名称为 components ,可以创建一个名称为 ".bowerrc& ...