Benchmark系列——基本概念和分类

本文详细介绍了Benchmark的基本概念,其作为衡量计算机性能的工具,具有执行典型工作负载、生成度量指标等特征。文章还对Benchmark进行了分类,包括组织主导、开源组件和特定领域基准,并讨论了使用Benchmark的常见误区。
摘要由CSDN通过智能技术生成

        本文是关于benchmark的一个普及文章。主要介绍benchmark的基本概念和特征,对当前业界典型的benchmark进行分类和介绍。

一、benchmark的基本概念

        Benchmark本意就是“基准”、“基准测试”,一种定义描述如下:A computer benchmark performs a known set of operations by which computer performance can be measured。直译为计算机Benchmark执行一组已知的操作(测试程序),通过这些操作可以评测计算机的性能。

        狭义的Benchmark就是通常意义上的“跑分”, 包括“跑分软件”、“跑分工具,比如名声不太好的安兔兔、鲁大师等,都属于Benchmark软件。

        广义的Becnmark范围更大,基本上所有在计算机系统上运行的软件业务都可以抽象理解为一种 对应特定业务的Benchmark。

二、Benchmark的主要特征

        Benchmark通常呈现出来的是一组(性能)测试程序,它能刻画应用负载的计算和数据处理的特征、 测试和预测系统的性能、可以对不同平台不同系统给出优缺点评价,有一些必要的特征。有效的benchmark必须具备的特征(spec)

a. 执行一个典型的workload:

b. 生成至少一个度量指标

c. 可复现性(reproducible)

d. 可移植性(portable)

e. 可比较性好(compareble)

f.可查验评测的有效性

g. 有明确的运行规则

三、Benchmark的分类

1) 按照Benchmark的来源和获取方式分类:

1) 按照Benchmark的来源和获取方式分类:

a. 基准组织主导发布的Benchmark,包括SPEC(The Standard Performance Evaluation Corporation)、TPC(The Transaction Processing Performance Council)、BenchCouncil(International Open Benchmark Council)等发布的Industry Standards Benchmarks 

b. 开源组织或开放平台提供的组件,包括HPL、HPCG、Graph500、Green500、PARSEC、NPB等Scientific Benchmarks 

c. 特定应用领域的基准组件和测试工具,包括Dhrystone、Whetstone、Stream、LMbench、IOmeter、FIO、Netperf、 iPerf等专用领域基准软件和Synthetic Benchmarks

更多的benchmark内容可以参考维基百科:https://en.wikipedia.org/wiki/Benchmark_(computing)

2)按照Benchmark的组成形式和应用目的分类

a. application benchmarks:用户真实的应用程序,属于广义上的Benchmark,真实的用户应用程序一般测试环境比较复杂,涉及应用类型多,源代码不易获取

b. System Benchmarks :由真实应用程序中的核心代码(kernel program)组成的Benchmark suites,包括SPEC CPU 2006&2017,SPEC jbb2015、SPECpower2008、SPECvirt2013、HPL、HPCG等。最大程度反映真实业务的应用特征和对计算机系统的需求

c. Micro Benchmarks:通常由小端代码实现的基准程序或工具,针对特定测试目的。包括各种针对性的基准软件和Synthetic Benchmarks。

  • 评测内核整形运算性能的Dhrystone / Coremark
  • 评测内核浮点运算性能的Whetstone
  • 评测内存带宽的Stream
  • 评测内存子系统带宽和时延以及OS基本操作性能的Lmbench
  • 评测磁盘基本读写性能的IOmeter和FIO
  • 评测网口基本性能的netperf和iperf

四、Benchmark使用误区

a. ~100%的benchmark是错误的

b. benchmark测试的结果通常具有误导性:例如你好像测试了A,但是实际上衡量的维度是B,最后你的总结是测试了C

c. 常见的错误包括:

  • 测试了错误的目标:例如访问disk的测试,实际上测试的是FS cache
  • 无效的结果,例如benchmark本身存在bug

推翻benchmark结果需要的工作比执行benchmark测试要大得多,所以根据目标选择正确的benchmark就非常重要。

本文主要介绍Benchmark的基本概念,下一篇将对各类常用的Benchmark进行介绍。

  • 30
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bluetangos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值