测试是由同事完成的,这里只做收藏。
测试说明:
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. 如何在一个网站或者页面写js

    如何在一个网站或者页面写js: 1. JS的分层(功能):jquery(tools)  组件(ui)  应用(app).mvc(backboneJS) 2. JS的规划(管理):避免全局变量和方法(命 ...

  2. golang调用c++的dll库文件

    最近使用golang调用c++的dll库文件,简单了解了一下,特作此笔记:一.DLL 的编制与具体的编程语言及编译器无关 dll分com的dll和动态dll,Com组件dll:不管是何种语言写的都可以 ...

  3. iOS 标识

    通常情况下,iOS系统用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码.证书等等,就需要使用更为安全的keychain了. keychain里保存的信息不会因App被删除而丢 ...

  4. DBA-mysql-表

    create table  student( id int(4) not null, name char(20) not null, age int(3) not null default '0', ...

  5. MySQL的基本操作

    1. 查看数据库 语法 #show databases; 2. 添加数据库 语法: #create database demo; 3. 删除数据库 语法: #drop database demo; 4 ...

  6. android APK 文件的生成过程

    步骤: 1. 用 aapt工具生成R文件aapt  package  -m -J  gen目录 -M AndroidManifest.xml  -S res目录  -I 编译版本sdk的android ...

  7. IIS7.5 伪静态 脚本映射 配置方法

    首先,是IIS7.0的配置,由于Windows Server 2008操作系统默认的IIS版本为7.0,我们知道,IIS7.0与IIS6.0 核心注意的地方:先要将应用池设置为集成模式,修改OK后,再 ...

  8. 新版Retrofit 2可运行例子(解决Could not locate ResponseBody converter for问题)

    Retrofit这东西我就不多做解释了,反正最近应用很广,基本都快和OkHttp一起成为安卓的事实网络访问标准框架了. 这么好的一个东西,官网文档实在是不算太好,说的不太清晰.按官网的经常会有“Cou ...

  9. oracle之synonym小结

    oracle中的同义词可以认为是对表.视图.序列.存储过程.函数.程序包或者其他同义词的一个别名,也就是用一个别名来映射的作用. oracle中的同义词可以分为私有和公有两种,私有同义词(privat ...

  10. 学习C++的第三天

    1.sort函数(默认升序排序(从小到大)) 要使用此函数只需用#include <algorithm> sort即可使用,语法描述为:      sort(begin,end),表示一个 ...