ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Benchmark学习记录

2022-01-12 16:05:57  阅读:196  来源: 互联网

标签:负载 记录 性能 Benchmark 学习 计算 数据 度量


     Benchmark基准测试程序用于测试和预测计算机系统的性能,揭示不同结构机器的长处和短处,在计算机领域应用最成功的就是性能测试,主要测试负载的执行时间、传输速度、吞吐量、资源占用率等。Benchmark基准测试程序试图提供一个客观,公正的评价机器性能的标准。是一个评价方式 。

      性能调优的两大利器是Benchmark和profile工具。Benchmark用压力测试挖掘整个系统的性能状况,而profile工具最大限度地呈现系统的运行状态和性能指标,方便用户诊断性能问题和进行调优。

Benchmark的核心由3部分组成:数据集、 工作负载、度量指标。

1、数据集

数据类型分为结构化数据、半结构化数据和非结构化数据。由于大数据环境下的数据类型复杂,负载多样,所以大数据Benchmark需要生成3种类型的数据和对应负载。

1)结构化数据:传统的关系数据模型,可用二维表结构表示。典型场景有电商交易、财务系统、医疗HIS数据库、政务信息化系统等等;

2)半结构化数据:类似XML、HTML之类,自描述,数据结构和内容混杂在一起。典型应用场景有邮件系统、Web搜索引擎存储、教学资源库、档案系统等等,可以考虑使用Hbase等典型的KeyValue存储;

3)非结构化数据:各种文档、图片、视频和音频等。典型的应用有视频网站、图片相册、交通视频监控等等。

2、工作负载

互联网领域数据庞大,用户量大,成为大数据问题产生的天然土壤。对工作负载理解和设计可以从以下几个维度来看

1)密集计算类型:CPU密集型计算、IO密集型计算、网络密集型计算;

2)计算范式:SQL、批处理、流计算、图计算、机器学习;

3)计算延迟:在线计算、离线计算、实时计算;

4)应用领域:搜索引擎、社交网络、电子商务、地理位置、媒体、游戏。

3、度量指标

性能高估的两大利器就是Benchmark和Profile工具。Benchmark用压力测试挖掘整个系统的性能状况,而Profile工具最大限度地呈现系统的运行时状态和性能指标,方便用户诊断性能问题和进行调优。

1)工具的使用

   a)在架构层面:perf、nmon等工具和命令;

   b)在JVM层面:btrace、Jconsole、JVisualVM、JMap、JStack等工具和命令;

   c)在Spark层面:web ui、console log,也可以修改Spark源码打印日志进行性能监控。

2)度量指标

   a)从架构角度度量:浮点型操作密度、整数型操作密度、指令中断、cache命中率、TLB命中;

   b)从Spark系统执行时间和吞吐的角度度量:Job作业执行时间、Job吞吐量、Stage执行时间、Stage吞吐量、Task执行时间、Task吞吐量;

   c)从Spark系统资源利用率的角度度量:CPU在指定时间段的利用率、内存在指定时间段的利用率、磁盘在指定时间段的利用率、网络带宽在指定时间段的利用率;

   d)从扩展性的角度度量:数据量扩展、集群节点数据扩展(scale out)、单机性能扩展(scale up)。

三、Benchmark的运用

1、Hibench:由Intel开发的针对Hadoop的基准测试工具,开源的,用户可以到Github库中下载

2、Berkeley BigDataBench:随着Spark的推出,由AMPLab开发的一套大数据基准测试工具,官网介绍

3、Hadoop GridMix:Hadoop自带的Benchmark,作为Hadoop自带的测试工具使用方便、负载经典,应用广泛

4、Bigbench:由Teradata、多伦多大学、InfoSizing、Oracle开发,其设计思想和利用扩展具有研究价值,可以参阅论文Bigbench:Towards an industry standard benchmark for big data analytics。

5、BigDataBenchmark:由中科院研发,官方介绍

6、TPC-DS:广泛应用于SQL on Hadoop的产品评测

7、其他的Benchmark:Malstone、Cloud Harmony、YCSB、SWIM、LinkBench、DFSIO、Hive performance Benchmark(Pavlo)等等

标签:负载,记录,性能,Benchmark,学习,计算,数据,度量
来源: https://blog.csdn.net/weixin_62592231/article/details/122455423

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有