【重要】大数据性能基准测试工具
大数据具有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
BigFrame是一个测试基准生成器[5],用户可以根据自己的需求定制专有测试基准。在目前实现中,其关系模型与BigBench类似,也是基于TPC-DS。同时它扩展了半结构化和非结构化的数据Tweets以及图形化数据Followee/Follower。BigFrame基本数据模型如图3所示:
详细内文见:https://cloud.tencent.com/developer/news/74744
1.作者:Syw 2.出处:http://www.cnblogs.com/syw20170419/ 3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 4.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-11-15 测试管理三要素(人员、过程和技术)
2019-11-15 面试可提问的6个问题