大数据基准测试流程及工具
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、配置方便,具有较强的可扩展性 2、安装和使用简单,容易入门 HBase、Hypertable、MongoDB、Redis、Memcached、 支持数据 3、源码开源,激励开发 YCSB ,使其支持更多的数据库性能测试 库 Cassandra 、 Couchbase、Voldemort、OrientDB、Infinispan、 4、可以任意设置读写比例、线程数量,打印结果比较详细 、DynamoDB、TaranTool 5、是HBase等Gemfire NoSQL官方的测试标准 6、实时显示测试进度和测试结果 优点 1、配置方便,具有较强的可扩展性 缺点: 2、安装和使用简单,容易入门 1、不能自动生成测试结果文档,需要人工统计 2、可支持的数据库类型有限(目前至少支持 13YCSB 种: HBASE 、MongoDB、Redis、MemCached等) 3、源码开源,激励开发 ,使其支持更多的数据库性能测试
大数据基准测试介绍--大数据基准测试流程
01数据准备
1、现实数据
缺点: 1、数据比较敏感,不容易获取。 2、只适用特定负载 优点: 1、真是反应业务情况
02负载选择
根据业务特点选择:
1、计算密集型 2、I/O密集型 3、混合密集型
03指标度量
用户角度出发的指标
1、每秒执行的请求数 2、每秒执行的操作数
大数据生成工具--teragen
teragen
产生数据,做terasort排序
文档地址:http://prof.ict.ac.cn/BigDataBench/old/2.0/wp-content/uploads/2013/10/
BDGS_BigDataBench.pdf
调用方式:
hadoop jar hadoop-*-examples.jar teragen param1 param2 param1:表示要产生的数据的行数。Teragen每行数据的大小是100B。 要产生1T的数据,需要的行数=102410241024*1024/100=10995116277行
大数据生成工具介绍
teragen
terasort 排序数据产生工具。 生成数据类型: Text
BigDataGenerateSuite 是中科院计算所BigDataBench下的数据生成组 件, 这个工具特点是: 1、模仿真实数据的原始特征 2、能够产生Text/Graph/Table 数据
BGDS
家提供监视Leabharlann Baidu分析性能数据的功能。
3、功能包括:1、CPU 使用率;2、 内存使用情况;3、磁盘 I/O 速度、 传输和读/写比率;4、网络 I/O 速度、 传输和读/写比率。。。
• nmon输出文件 *.nmon能使用 nmon analyser解析
nmon analyser
大数据基准测试 -- 度量工具 介绍
评估指标 处理速度、吞吐
大数据基准测试常见测试套--BigDataBenchmark
BigDataBench 说明 下载地址 支持工作 负载类型 (七大类, 34种) 中科院计算所开发的大数据评测框架 http://prof.ict.ac.cn/ 一、online service, 二、offline analytics, 三、graph analytics, 四、artificial intelligence, 五、data warehouse, 六、NoSQL, 七、streaming Text、Graph、Table以及混合数据
JVM监控工具 --Jvisualvm
Jvisualvm
1、JDK自带的一款性能分析工具
2、可以监控本地和远程JVM 3、能够监控CPU、内存、类、线 程、gc的详细运行状态、堆的详细 状态
• 性能分析的主要方式: • 1、监视:视图显示CPU、内存、线程状态等信息; • 2、转储:从内存中获得当前状态数据并存储到文件用于静态文件; • 3、快照:应用程序一段时间内的执行信息,CPU 快照和内存快照; • 4、性能分析:收集程序运行时的执行数据,通过分析来提高程序的运行 速度或是内存使用效率;主要有:1、CPU 性能分析、内存性能分析、线 程性能分析
一、Micro基准 支持工作 负载类型 1、Sort;2、WordCount;3、TeraSort;4、Sleep;5、DFSIOe (6大类) 二、ml(machine learning)基准 三、SQL基准 1、扫描(扫scan);2、连接(join);3、聚合(aggregation) 四、Graph基准 1、NWeight(NWeight);2、 五、Websearch基准 1、PageRank;2、Nutch索引(nutchindexing) 六、Streaming基准 1、身份(Identity);2、重新分区(Repartition);3、有状态 Wordcount(Wordcount);4、Fixwindow(Fixwindow)
大数据基准测试介绍--基准测试的基本考量
1、确定数据集的大小、类型以及覆盖的应用场景,提供数据集或者数 据生成的工具 2、确定测试负载,及需要覆盖的应用场景,具有代表性,能 够较全面地反应系统的特性 3、明确测试指标,主要从性能、能效、性价比、 可靠性等角度衡量。
4、确定针对的软件系统和框 架,不同框架处适用的场景
param2:数据产生地址
生成数据类型: Text
大数据生成工具--BGDS
中科院研发的BigDataBech的数据生成组件
下载地址:http://prof.ict.ac.cn/industry-standard/#Download
生成数据:Text、Graph、Table
调用方式:
大数据基准测试常见测试套
总结 -- 大数据基准测试方向
开源测试工具大部分属于微型工具,缺少端到 端业务场景测试
总结
根据面向业务场景,模拟典型的应用类型, 完善测试方法,提供端到端的测试
简化测试部署、执行的复杂性,提供更好 的可视化工具。
大数据基准测试介绍--基准测试的本质
造一把测量大数据系统的尺子
不幸的是
• • • 系统太复杂 应用太多样 指标不直观
大数据基准测试介绍--基准测试的挑战
放之四海而皆准的真理 VS 适合某种情况的准则
多元/代表性 VS 基准测试成本
简单(通俗易懂) VS 复杂(业务应用)
具体 VS 抽象
大数据基准测试
Lukai
目
录
01 02 03 04 05
大数据基准测试介绍 大数据生成工具 大数据基准测试常见测试套 测试指标度量 总结
大数据基准测试介绍--什么是基准测试
In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it.[1] The term 'benchmark' is also mostly utilized for the purposes of elaborately designed benchmarking programs themselves. ----wikipedia 在计算中,基准是指运行一组计算机程序或其他操 作的行为,以便评估一个对象的相对性能,通常通过 对它运行一些标准测试和试验。 “基准”一词也主要 用于精心设计的基准测试程序本身。 ----维基百科
b )从系统执行时间和吞吐的角度度 量:Job作业执行时间、Job吞吐量、 Stage执行时间、Stage吞吐量、Task 执行时间、Task吞吐量;
c )从系统资源利用率的角度度量: CPU 利用率、内存利用率、磁盘利用 率、网络带宽利用率; d)从扩展性的角度度量:数据量扩 展、集群节点数据扩展(scale out)、 单机性能扩展(scale up)。
ICT BigDataBench 端到端 工具 BigBench
中科院计算所大数据测试工具,覆盖 了结构数据、半结构数据和非结构数 据 基于TPC-DS
搜索引擎、社交网络和电子商务
面向零售业务,模拟电子商务的整个流程, 测试 MapReduce和并行DBMS
大数据基准测试常见测试套-- BigBench
系统性能指标
1、每秒浮点计算速度 2、每秒数据吞吐量
2、合成数据
生成工具合成数据为通常采用 的方法
7
大数据基准测试介绍 -- 数据类型
结构化 数据 半结构化 数据
传统的关系数据模型,可用二维表结构表示。典型场景有电商交易、财务系统、医 疗HIS数据库、政务信息化系统等等
似XML、HTML之类,自描述,数据结构和内容混杂在一起。典型应用场景有邮件 系统、Web搜索引擎存储、教学资源库、档案系统等等,可以考虑使用Hbase等典 型的KeyValue存储
BigBench 说明 面向商品零售业的基准,它扩展了TPC-DS,支持结构化、半结构 化、非结构化数据。
下载地址
数据模型
https://github.com/intel-hadoop/Big-Data-Benchmark-for-BigBench
大数据基准测试常见测试套--Hibench
Hibench 说明 下载地址 Intel开发的针对Hive平台的的基准测试工具,开源 https://github.com/intel-hadoop/HiBench
支持数据 类型
大数据基准测试常见测试套--YCSB
YCSB(Yahoo! Cloud Serving Benchmark )
说明
点: 下载地址
Yahoo 公司的一个用来对云服务进行基础测试的工具。对NoSQL 数据库进行性能测试和评估,例如Hbase、Mongodb https://github.com/brianfrankcooper/YCSB
非结构化 数据
各种文档、图片、视频和音频等。典型的应用有视频网站、图片相册、交通视频监 控等等
8
大数据基准测试介绍 -- 工作负载类型
密集计算类型
CPU密集型计算、 IO密集型计算、 网络密集型计算 混合密集型
计算延迟
负
载 维 度
计算范式
在线计算、 离线计算、 实时计算
SQL、 批处理、 流计算、 图计算、 机器学习
4、可以任意设置读写比例、线程数量,打印结果比较详细 5、是HBase等NoSQL官方的测试标准 6、实时显示测试进度和测试结果
缺点
1、不能自动生成测试结果文档,需要人工统计 2、可支持的数据库类型有限(目前约支持13种)
大数据基准测试 -- 度量工具 介绍
系统度量工具 --nmon
nmon
1、它消耗CPU通常低于百分之一。 2、工具可以为 AIX 和 Linux 性能专
应用领域
搜索引擎、 社交网络、 电子商务、 地理位置、 媒体、 游戏
大数据基准测试介绍 -- 度量
度量工具
a)在架构层面:perf、nmon等工具 和命令;
度量指标
a )从架构角度度量:浮点型操作密 度、整数型操作密度、cache命中 率、;
b )在 JVM 层面:btrace 、 Jconsole 、 JVisualVM、JMap、JStack等工具和 命令; c)根据打印日志进行性能监控。
分类 专用工 具 测试套 TeraSort 应用场景 文本排序 功能
Hadoop GridMix
面向Hadoop集群的测试基准
YCSB
NoSQL数据库的性能
LinkBench
Facebook测试社交图谱
sysbench 综合工 具 Hibench
Mysql 基准测试工具 Hive平台的基准测试工具 微型负载、搜索业务、机器学习和分析请求