ycsb 测试Hbase性能
下载
github:https://github.com/brianfrankcooper/YCSB/releases/tag/0.10.0
wget https://github.com/brianfrankcooper/YCSB/archive/0.10.0.tar.gz
tar xvf 0.10.0.tar.gz
编译:
cd YCSB-0.10.0/
编译所有的nosql
mvn clean package
只编译Hbase
mvn -pl com.yahoo.ycsb:hbase10-binding -am clean package
安装成功。
cd hbase10/target/
tar xvf ycsb-hbase10-binding-0.10.0.tar.gz
cd ycsb-hbase10-binding-0.10.0
测试:
1 hive中建表
hbase(main):01:0*> n_splits=120
=> 120
hbase(main):02:0> create 'usertable','family',{SPLITS => (1...n_splits).map{|i| "user#{1000+i*(9999-1000)/n_splits}"}}
0 row(s) in 18.3610 seconds
=> Hbase::Table - usertable
1.1 完整版需要手动去拷贝相关hbase库到hbase-binding的lib目录下,并将hbase-site.xml拷贝至hbase-binding的conf目录下
1.2 ycsb-hbase10-binding-0.10.0在lib目录下面有所需的各种库文件,无需手动从hbase的lib目录下去-cp过来了直接使用bin下面的ycsb,-cp指定即可。
2 执行:
load
bin/ycsb load hbase10 -P workloads/workloada -cp /usr/hdp/2.5.3.0-37/hbase/conf/ -p table=usertable -p columnfamily=family -s -threads 10 -p recordcount=100000
run
bin/ycsb run hbase10 -P workloads/workloada -cp /usr/hdp/2.5.3.0-37/hbase/conf/ -p table=usertable -p columnfamily=family -s -threads 10 -p recordcount=100000
运行结果分析:
[OVERALL], RunTime(ms), 2787.0 数据加载所用时间:2.787秒
[OVERALL], Throughput(ops/sec), 35.88087549336204 加载操作的吞吐量,平均并发量每秒35.88条
[TOTAL_GCS_PS_Scavenge], Count, 1.0
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 20.0
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.7176175098672408
[TOTAL_GCS_PS_MarkSweep], Count, 0.0
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 0.0
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.0
[TOTAL_GCs], Count, 1.0
[TOTAL_GC_TIME], Time(ms), 20.0
[TOTAL_GC_TIME_%], Time(%), 0.7176175098672408
[CLEANUP], Operations, 2.0 执行cleanup的操作总数,2
[CLEANUP], AverageLatency(us), 63575.0 平均响应时间63.575ms
[CLEANUP], MinLatency(us), 14.0 最小响应时间0.014ms
[CLEANUP], MaxLatency(us), 127167.0 最大响应时间127.167ms
[CLEANUP], 95thPercentileLatency(us), 127167.0 95%的cleanup操作延时在127.167ms以内
[CLEANUP], 99thPercentileLatency(us), 127167.0 99%的cleanup操作延时在127.167ms以内
[INSERT], Operations, 100.0 执行insert操作的总数,100
[INSERT], AverageLatency(us), 13681.54 每次insert操作的平均时延,13.68154ms
[INSERT], MinLatency(us), 5556.0 所有insert操作最小延时,5.556ms
[INSERT], MaxLatency(us), 201343.0 所有insert操作最大延时,201.343ms
[INSERT], 95thPercentileLatency(us), 30063.0 95%的insert操作延时在30.063ms以内
[INSERT], 99thPercentileLatency(us), 53183.0 99%的insert操作延时在53.183ms以内
[INSERT], Return=OK, 1000 成功返回数,1000
[OVERALL], RunTime(ms), 6921.0 数据加载所用时间:6.921秒
[OVERALL], Throughput(ops/sec), 144.48779078167894 加载操作的吞吐量,平均并发量每秒144.48条
[TOTAL_GCS_PS_Scavenge], Count, 1.0
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 20.0
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.2889755815633579
[TOTAL_GCS_PS_MarkSweep], Count, 0.0
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 0.0
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.0
[TOTAL_GCs], Count, 1.0
[TOTAL_GC_TIME], Time(ms), 20.0
[TOTAL_GC_TIME_%], Time(%), 0.2889755815633579
[CLEANUP], Operations, 2.0 执行cleanup的操作总数,2
[CLEANUP], AverageLatency(us), 71591.5 平均响应时间71.5915ms
[CLEANUP], MinLatency(us), 15.0 最小响应时间0.015ms
[CLEANUP], MaxLatency(us), 143231.0 最大响应时间143.231ms
[CLEANUP], 95thPercentileLatency(us), 143231.0 95%的insert操作延时在143.231ms以内
[CLEANUP], 99thPercentileLatency(us), 143231.0 99%的insert操作延时在143.231ms以内
[READ], Operations, 480.0 执行read的操作总数,480
[READ], AverageLatency(us), 5027.9625 平均响应时间5.027ms
[READ], MinLatency(us), 2254.0 最小响应时间2.254ms
[READ], MaxLatency(us), 158847.0 最大响应时间158.847ms
[READ], 95thPercentileLatency(us), 10767.0 95%的read操作延时在10.767ms以内
[READ], 99thPercentileLatency(us), 14599.0 99%的read操作延时在14.599ms以内
[READ], Return=OK, 480 成功返回数,480
[UPDATE], Operations, 520.0 执行read的操作总数,520
[UPDATE], AverageLatency(us), 5812.123076923077 平均响应时间5.812ms
[UPDATE], MinLatency(us), 3302.0 最小响应时间3.302ms
[UPDATE], MaxLatency(us), 86207.0 最大响应时间86.207ms
[UPDATE], 95thPercentileLatency(us), 9991.0 95%的read操作延时在9.991ms以内
[UPDATE], 99thPercentileLatency(us), 11839.0 99%的insert操作延时在11.839ms以内
[UPDATE], Return=OK, 520 成功返回数,520
YCSB自带了6种负载(workloads/目录下)
workloada:混合了50%的读和50%的写;
workloadb:Read mostly workload,混合了95%的读和5%的写,该workload侧重于测试集群的读能力;
workloadc:Read only,100%只读;
workloadd:Read latest workload,插入数据,接着就读取这些新插入的数据;
workloade:Short ranges,短范围scan,不同于随机读,每个测试线程都会去scan一段数据;
workloadf:Read-modiy-wirte,读改写,客户端读出一个记录,修改它并将被修改的记录返回;
-threads 10配置了并发线程个数
-p operationcount=1000000 覆盖了workloada中operationcount=1000表示本次测试操作记录数为1000000
-p measurementtype=timeseries -p timeseries.granularity=2000指明了YCSB客户端多长时间汇总一次延时,timeseries.granularity属性值的单位为1000milliseconds。所以这里的配置就表示2000s记录一次本2000s的平均延时。
-p recordcound 是YCSB load(加载元数据)命令的参数,默认值1000表示默认加载的记录条数,可以在命令行显示修改该值。
-p Operationcount 是YCSB run(运行压力测试)命令的参数,默认值1000表示默认选取数据库中的1000条数据进行压力测试。
-P workload 指定了workload的实现类为 com.yahoo.ycsb.workloads.CoreWorkload
-p readallfields表示查询时是否读取记录的所有字段
-p readproportion表示读操作的比例,该场景为0.5
-p updateproportion表示更新操作的比例,该场景为0.5
-p scanproportion表示扫描操作的比例
-p Insertproportion表示插入操作的比例
-p Requestdistribution表示请求的分布模式,YCSB提供uniform, zipfian, latest三种分布模式
参考:https://blog.csdn.net/zx8167107/article/details/78753283
ycsb 测试Hbase性能的更多相关文章
- YCSB测试HBase远程完全分布式集群
写在前面 本文只讲一个很简单的问题,YCSB对HBase集群的测试.虽然网上有很多介绍YCSB测试HBase的文章,但都是针对本地HBase伪分布式集群的.大家都知道,稍微正式一些的压测都会要求测试客 ...
- 雅虎(ycsb)测试hbase(压测)
一.下载ycsb 0.10包 https://github.com/brianfrankcooper/YCSB/releases/download/0.10.0/ycsb-0.10.0.tar.gz ...
- YCSB benchmark测试mongodb性能——和web服务器测试性能结果类似
转自:http://blog.sina.com.cn/s/blog_48c95a190102v9kg.html YCSB(Yahoo! Cloud Serving Benchmark) ...
- 【操作教程】利用YCSB测试巨杉数据库性能
一.前言 巨杉数据库(SequoiaDB)是国内第一款新一代文档型分布式数据库,巨杉数据库由巨杉软件完全自主研发,拥有完全自主知识产权,不基于任何其它的开源项目.SequoiaDB数据库是为分布式存储 ...
- ycsb对hbase性能测试的研究
ycsb对hbase性能测试 1.ycsb安装 下载ycsb软件 wget https://github.com/downloads/brianfrankcooper/YCSB/ycsb-0.1.4. ...
- hbase性能调优_表设计案例
hbase性能调优案例 1.人员-角色 人员有多个角色 角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加 设计思路 person表 ...
- hbase性能优化总结
hbase性能优化总结 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都 ...
- HBase性能优化方法总结(转)
原文链接:HBase性能优化方法总结(一):表的设计 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客. ...
- hbase性能调优案例
hbase性能调优案例 1.人员-角色 人员有多个角色 角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加 设计思路 person表 ...
随机推荐
- 《Dotnet9》系列-开源C# WPF项目1《Accelerider.Windows》强力推荐
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- SpringCloud服务降级案列
一.什么是服务降级 所有的RPC技术里面服务降级是一个最为重要的话题,所谓的降级指的是当服务的提供方不可使用的时候,程序不会出现异常,而会出现本地的操作 二.服务降级案例 1.目录展示 2.导入依赖 ...
- 一起学Vue之入门篇
概述 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还 ...
- Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样
在Cesium中,对于terrain地形.3dtiles模型.gltf模型的高度采样是一个很基本的功能,基于此,可以做一些深度应用,而Cesium已经帮我们提供了相应的API,在这里,我帮大家总结一下 ...
- docker快速部署本地项目到服务器(tomcat8+mysql8)
目标是:将本地运行的spring项目,部署到服务器上 为什么使用docker? 环境隔离 服务器上,各种环境交杂,使用docker,能清楚的把各个项目进行隔离,不单维护的人员方便,也会省去很多维护这些 ...
- BOM的补充
1.首先我们要知道BOM是干什么的? BOM和DOM.ES是JavaScript的重要三个组成部分: Bom的核心操作是window:简单来说就是用来操作浏览器的,他是js访问浏览器的接口,它里面封装 ...
- Java 学习之路让我帮助很大的书籍
笔主目前从事Java工作已经5年,满打满算下来,从大二上学期接触 Java 到现在也快走过了 7 个年头.在学习 Java 过程中,网上的一些视频还有一些书籍对我帮助都很大.下面就我自己看过的一些书籍 ...
- IT兄弟连 HTML5教程 CSS3属性特效 transition过渡
CSS3的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. transitio ...
- Spring Boot中使用Swagger2构建强大的RESTful(最新全,无坑)
1:说明 网上这类文章 太多, 一搜一大把 ,但是要不是知识太过于老旧,就是配置没有说名清楚,你的项目按照他的配置却不能正常运行: 所以本文的目的: 配置swagger 2 那swagger 1 不 ...
- Android Studio出现Failed to open zip file问题的解决方法
直接在网上找到gradle-3.3-all.zip下载下来,不要解压缩,放在类似下面的目录中 C:\Users\Administrator\.gradle\wrapper\dists\gradle-3 ...