大数据基准测试简介
大数据基准测试的主要目的是对各种大数据产品进行测试,评估他们在不同硬件平台、不同数据质量和不同计算任务下的性能表现。大数据基准测试需要参考特定的评测基准测试集。
大数据基准测试的步骤
大数据基准测试主要有3个步骤,即数据准备、负载选择和指标度量。
数据准备
数据准备主要是构造满足大数据特点的各类型的数据。因为真实数据的敏感性和局限性,所以大数据基准测试通常借用工具合成数据。这个过程分为数据筛选、数据处理、数据生成和格式转换。
负载选择
负载选择是通过选择合适的负载以运行数据产生结果。负载是大数据基准测试需要执行的具体任务,用来处理数据并产生结果。负载可分为计算密集型任务、I/O密集型任务和混合密集型任务。
对于负载选择,有两种策略:
- 从企业的应用场景出发,模拟企业应用流程,采用应用中的真实数据进行测试。比如银行的账单查询、账目更改等,可以抽象为对数据库表的查询和更改。
- 从通用的角度来考量,从测试整个大数据处理平台的角度出发,选择负载时需要覆盖分布式计算框架、分布式文件系统和分布式存储等大数据处理平台的主要组件。比如Hadoop平台,负载主要测试Hadoop(包括HDFS和马MapReduce)、数据仓库(hive)和NoSQL数据库的性能
指标度量
指标度量主要是确定衡量的维度,以便从不同方面评估大数据系统。
- 用户角度
可选取每秒执行请求数、请求延时和每秒执行操作数等测试指标。
- 系统架构
可选取每秒浮点计算次数、每秒数据吞吐量等测试指标。
在实际的大数据测试中,通常从性能、能耗、性价比和可靠性4个维度进行度量。
大数据基准测试工具
分类 |
工具名称 |
测试场景 |
备注 |
特点 |
微型负载专用工具 |
TeraSort |
文本数据排序 |
Hadoop自带的工具 |
应用场景较单一,但效率高、成本低。另外,它无法整体衡量大数据平台的性能。 |
Gridmix |
Hadoop集群性能 |
Hadoop自带的工具 |
||
YCSB |
NoSQL数据库性能 |
Yahoo |
||
LinkBench |
存储社交图谱和网络服务的数据库 |
|
||
sysbench |
MySQL基准测试工具 |
开源工具 |
||
TestDFSIO |
HDFS基准性能测试 |
Hadoop自带的工具 |
||
PerformanceEvaluation |
HBase性能测试 |
HBase自带的工具 |
||
NNBench |
Namenode硬件加载过程 |
Hadoop自带的工具 |
||
MRBench |
MapReduce小型作业的快速响应能力 |
Hadoop自带的工具 |
||
综合类测试工具 |
HiBench |
微型负载搜索业务、机器学习和分析请求 |
英特尔 |
场景覆盖面比较广,能够较全面地考量大数据平台执行不同类型任务的性能,通用性好。 |
BigDataBench |
搜索引擎、社交网络和电子网络 |
中科院计算所 |
||
CloudBM |
云数据管理系统基准测试 |
CloudBM Web Solutions |
||
AMP Benchmarks |
实时分析类应用场景 |
UC Berkeley Lab |
||
TPCx-HS kit |
在MapReduce或spark流基础上的实时分析 |
TPC |
||
端到端的测试工具 |
BigBench |
大数据离线分析 |
TPC |
实现了对企业特定业务的模拟,与企业的应用场景结合紧密,可以满足企业大数据业务全流程的模拟和测试。 |