一、Benchmark 简介
基准测试是通过运行特定程序或测试套件,对计算机硬件、软件或系统的性能进行量化评估的过程。其核心目的是用标准化的方法衡量设备在特定任务下的表现,以便进行横向对比或性能优化
性能调优的两大利器是Benchmark和profile工具。Benchmark用压力测试挖掘整个系统的性能状况,而profile工具最大限度地呈现系统的运行状态和性能指标,方便用户诊断性能问题和进行调优。
二、Benchmark 的组成
Benchmark的核心由3部分组成:数据集、 工作负载、度量指标。
1、数据集
数据类型分为结构化数据、半结构化数据和非结构化数据。由于大数据环境下的数据类型复杂,负载多样,所以大数据Benchmark需要生成3种类型的数据和对应负载。
结构化数据:传统的关系数据模型,可用二维表结构表示。典型场景有电商交易、财务系统、医疗HIS数据库、政务信息化系统等等;
半结构化数据:类似XML、HTML之类,自描述,数据结构和内容混杂在一起。典型应用场景有邮件系统、Web搜索引擎存储、教学资源库、档案系统等等,可以考虑使用Hbase等典型的KeyValue存储;
非结构化数据:各种文档、图片、视频和音频等。典型的应用有视频网站、图片相册、交通视频监控等等。
2、工作负载
互联网领域数据庞大,用户量大,成为大数据问题产生的天然土壤。对工作负载理解和设计可以从以下几个维度来看
密集计算类型:CPU密集型计算、IO密集型计算、网络密集型计算;
计算范式:SQL、批处理、流计算、图计算、机器学习;
计算延迟:在线计算、离线计算、实时计算;
应用领域:搜索引擎、社交网络、电子商务、地理位置、媒体、游戏。