大数据具有3V特性,Volume(海量)、Velocity(高速)、Variety(多样)
大数据测试基准的选择考虑因素
- 与其自身业务的相关性
- 模拟数据生成要具有真实性
- 工作负载的设定具有可扩展性
- 度量的选取的可理解性
- 客观性和公平性
- 健壮性
- SQL标准兼容
- 通用性/可迁移性
大数据测试基准对比
大数据基准测试简介
大数据基准测试的主要目的是对各种大数据产品进行测试,评估他们在不同硬件平台、不同数据质量和不同计算任务下的性能表现。大数据基准测试需要参考特定的评测基准测试集。
大数据基准测试的步骤
大数据基准测试主要有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 | 实现了对企业特定业务的模拟,与企业的应用场景结合紧密,可以满足企业大数据业务全流程的模拟和测试。 |
BigBench
BigBench是一款面向商品零售业的基准,它扩展了TPC-DS,综合考虑多种数据模态,增加了半结构化数据Web Log和非结构化数据Reviews。其负载的生成是TPC-DS定制化的版本。BigBench包含30个查询。BigBench基本数据模型如图2所示:
BigFrame
扩展了半结构化和非结构化的数据Tweets以及图形化数据Followee/Follower。BigFrame基本数据模型如图3所示:
详细内文见:https://cloud.tencent.com/developer/news/74744
作者:Syw