文章目录

  • 基准测试程序种类
  • 常见测试程序概述
  • 常见测试程序使用
    • Dhrystone的使用
    • UnixBench的使用
    • CPU-Z的安装与使用
  • 参考文献

现代计算机的性能测量极大地依赖于在其上运行的工作负载,为了测量和分析计算机系统的性能人们常常选择或构造一组能反映其工作负载特征的程序,称为基准程序在系统上组织和运行这些程序,测量系统此时呈现的性能状况并加以分析和比较,这种方法称为基准程序法,这是目前被用得相当普遍并被广泛承认的一种综合评价计算机系统性能的方法。

基准测试程序种类

基准测试程序(Benchmark)用来测量机器的硬件最高实际运行性能,以及软件优化的性能提升效果,可分为微基准测试程序(Microbenchmark)和宏基准测试程序(Macrobenchmark)。微基准测试程序用来测量一个计算机系统的某一特定方面,如CPU定点/浮点性能、存储器速度、I/O速度、网络速度或系统软件性能(如同步性能);宏基准测试程序用来测量一个计算机系统的总体性能或优化方法的通用性,可选取不同应用,如Web服务程序、数据处理程序以及科学与工程计算程序。

Benchmark 测试在计算机领域中最广泛和最成功的应用是性能测试, 主要测试响应时间、传输速率和吞吐量等。此外, 它也用于功能、可操作性和数据处理开发易用性等方面的测试 。按照 Benchmark 的思想, 它还可以有更广泛的用途, 但目 前性能以外有影响的 Benchmark 测试很少。

Benchmark 测试有些偏重于硬件, 有些偏重于软件, 还有些注重整个系统。在硬件方面广泛应用于评价 CPU、内存、I/O 接口和外围设备的性能, 主要测试两个方面性能指标: 一是硬 件传输数据的带宽, 称为带宽基准测试(Bandwidth benchmark) ; 二是数据传输的延迟, 称为延迟基准测试(Latency benchmark) 。在软件方面, 它用于评价操作系统、数据库和中间件以及应用 软件的数据处理能力。

Benchmark 测试根据被测试对象的不同可分为两类: 组件测试和系统测试。组件测试是指测试的重点是针对信息系统中的某一部件或某一子系统, 如 CPU、内存、磁盘、总线、文件系统、网络设备等。系统测试则是对整个计算机系统或信息系统 进行测试。在系统测试中, 由于关注点不同, 使用的 Benchmark 测试规范就不同, 则测试作用和度量指标也不同。不论是哪种 Benchmark 测试, 都必须在一个完整的计算机系统上进行, 因此, 整个系统中的所有部分都可能对 Benchmark 测试结果产生影响, 特别是硬件的配置水平、操作系统、编译器和数据库管理系统。 使用不同的 Benchmark 测试规范评价同一个被测试系统时, 可能出现不一致的测试结果。在进行同类系统比较时, 可能 出现差异较大的结果。造成这一现象的原因复杂, 但主要原因是所有的 Benchmark 测试规范有各自的侧重点, 揭示出的系统瓶颈存在差异。

不同的基准测试程序,侧重目的不同:有的测试CPU性能,有的测试⽂件服务器性能,有的测试输⼊、输出界面,有的测试⽹络通讯速度等。根据不同用途,测试程序可有专用和通用之分。现代的基准测试程序依照他们的设计目标可被分为通用计算、流式计算、移动计算、云计算等四个大类。其中通用计算又可被分为桌面和服务器两个小类。

常见测试程序概述

下面将介绍常见的一些基准测试程序。

IOzone 由 Oracle 的 William D.Norcott 发起, 之后 HP 公司 的 Don Capps 和 Tom McNeal 对其进行了完善。它是一个可运 行 在 Linux、HP- UX、Solaris 和 Windows 系 统 上 的 文 件 系 统 Benchmark 测试工具。IOzone 的开发目的是分析计算机平台生 产厂商的文件系统的 I/O 性能, 为用户选择系统提供参考。 IOzone 将 文 件 系 统 的 I/O 作 为 基 本 负 载 对 文 件 系 统 进 行 Benchmark 测试, 允许测试者调整参数, 包括从很小到非常大 的文件和不同的访问方式。IOzone 可测试本地系统, 也可测试 客户机/服务器环境下的 NFS( Network File System) 客户端文 件访问。 IOzone 的测试项包括: 读/写、重复读/写、后向读、跨越读、 流文件读/写系统库函数( fread/fwrite) 、随机读/写、偏移量读/写 库函数( pread/pwrite) 、POSIX 异步读/写和文件映射内存的系统 库函数 mmap。

Lmbench 是由 SGI 公司的 Larry McVoy 和 HP 公司的 Carl Staelin 设计开发的一组小型 Benchmark 测试程序集, 它可以测 试处理器、内存、网络、文件系统和磁盘中的数据传输和数据带 宽。LMbench 的作者希望能够在广泛的应用领域中发现被测试 系统的性能瓶颈, 并能识别、隔离和再现这些瓶颈。 LMbench 由许多小测试程序组成, 每个测试程序能够捕获 应用中的某些特定性能问题。它遵守 GPL 许可协议, 可获得源 代码。它可以运行在 AIX、BSDI、HP- UX、IRIX、Linux、FreeBSD、 NetBSD、OSF/1、Solaris 和 SunOS 系统上。 LMbench 集中在测试带宽、延时和这两者的组合问题上: (1) 带宽基准测试, 可细分为: 被缓冲的文件读, 利用系统调 用 bcopy 的内存复制、内存读、内存写、管道(Pipe) 和 TCP 传输。(2) 延时基准测试, 可细分为: 进程上下文切换、组网( 其中 包括: 建立连接、管道、TPC、UDP 和 RPC) 、文件系统的建立和 删除、进程创建、信号操作、系统调用代价和内存读延时。(3) 杂项, 只有处理器时钟速度测试一项。

Whetstone 它是为比较不同的计算机的浮点性能而设计的综合型基准测试程序,最早用 Algol-60 写成,后用 Fortran 改写。这是从英国国立物理实验室 1970 年是常用的数值计算程序中取出的最频繁使用的有代表性的程序段。这些程序段语句转换到称为 Whetstone 虚拟计算机上的指令,因而得名 Whetstone 基准测试程序。此基准测试程序包括整数运算,又包括浮点运算,涉及到数组下标索引,子程序调用,参数传递,条件转移和三角、超越函数等,使用系统完成的 Kwhetstone/s 数度量。

Dhrystone 它主要为测试整数与逻辑运算性能二设计的综合型基准测试程序,用 Ada,C 和 Pascal 完成,它是 CPU 密集 (CPU-intensive )型测试程序,由很多整型语句和逻辑语句的小循环组成。它使用系统完成的 Kdhrystone/s 数度量。
测试程序可访问 netlib/benchmark/dhrystone

SPEC 是 Standard Performance Evaluation cooperation 的首字母缩写,它是作为 NCGA(National computer graphics association )的一个小组 20 世纪 80 年代创立,这个小组的创始者来源于 HP,DEC,MIPS , SUN, 他们拥有一组基准测试程序以评测新机器的性能。第一组基准测试程序叫 SPEC89 ,包含 10 个程序; SPEC92 扩从到 20 个程序, 6 个整数程序,和 14 个浮点程序分别称为 SPECint92,SPECfp92 。随后 SPEC 又发布了一些新的基准测试程序(如 SPEC95,SPEChpc96,SPECweb96, SPEC2000 等)。 SPEC 原主要是测试 CPU 性能的,现在强调开发能反映真实应用(如实际负载等)的基准测试程序,并已推广至客户 / 服务器计算,商业应用, I/O 子系统等。

常见测试程序使用

下面将演示常用的基准测试程序的安装与使用。

Dhrystone的使用

下载核心程序包

http://www.roylongbottom.org.uk/classic_benchmarks.tar.gz

核心程序包下载后,在

\classic_benchmarks\source_code\dhrystone2\下可找到源代码。详细文件目录如下:

\classic_benchmarks\source_code\dhrystone2\dhry.h          --关于兼容性的原型定义\dhry_1.c        --主程序入口\dhry_2.c        --算法子程序

如果是移植到ARM Cortex-M平台下裸系统运行,一般只需要简单修改dhry.h和dhry_1.c文件即可,Dhrystone本身并没有太多移植工作,其源码本是用作在PC上运行的,而在嵌入式系统里运行仅需要把一些文件I/O的相关代码删除即可,此外就是计时函数和打印函数的重实现。

我在学校的服务器上测试,先将源代码上传到服务器,进行解压

运行主程序

gcc dhry_1.c dhry_2.c cpuidc64.o cpuida64.o -m64 -lrt -lc -lm -o dhry2

进行编译获得测试结果

Dhrystone Benchmark  Version 2.1 (Language: C)Final values:Int_Glob:      O.K.  5Bool_Glob:     O.K.  1Ch_1_Glob:     O.K.  ACh_2_Glob:     O.K.  BArr_1_Glob[8]: O.K.  7Arr_2_Glob8/7: O.K.     1600010Ptr_Glob->Ptr_Comp:       *  98008Discr:       O.K.  0Enum_Comp:   O.K.  2Int_Comp:    O.K.  17Str_Comp:    O.K.  DHRYSTONE PROGRAM, SOME STRINGNext_Ptr_Glob->Ptr_Comp:       *  98008 same as aboveDiscr:       O.K.  0Enum_Comp:   O.K.  1Int_Comp:    O.K.  18Str_Comp:    O.K.  DHRYSTONE PROGRAM, SOME STRINGInt_1_Loc:     O.K.  5Int_2_Loc:     O.K.  13Int_3_Loc:     O.K.  7Enum_Loc:      O.K.  1Str_1_Loc:     O.K.  DHRYSTONE PROGRAM, 1'ST STRINGStr_2_Loc:     O.K.  DHRYSTONE PROGRAM, 2'ND STRINGRegister option      Selected.Microseconds 1 loop:          4.53Dhrystones / second:      220690VAX MIPS rating:            125.61

UnixBench的使用

首先获取软件下载地址

对压缩包进行解压

tar -xzvf unixbench-5.1.2.tar.gz
cd unixbench-5.1.2

阅读README文件,得知如果不需要进行图形测试或者不在图形化界面下测试,则将Makefile文件中GRAPHICS_TEST = defined注释掉

运行./Run

然后等待程序进行测试即可,这个过程可能比较漫长,请耐心等待

对于运行结果,说明如下:
看到run文件后,输入 ./Run 执行命令对VPS进行性能测试就开始了,最后跑完将会有一个分数在底部出现。通常情况下1000分以上的VPS是性能较好的。

CPU-Z的安装与使用

下载地址 https://www.cpuid.com/downloads/cpu-z/cpu-z_2.03-cn.exe


安装成功后,可以对计算机性能进行测试

参考文献

[1]马汉.CPU检测软件有哪些 5款检测工具介绍[J].计算机与网络,2014,40(17):30.
[2]系统测试软件CPU-Z 1.08[J].电子计算机与外部设备,2001(06):94.
[3]徐钦桂,李勇,张杰明,Guang R.Gao.基于比较策略的嵌入式系统性能基准测试研究[J].计算机工程与应用,2005(19):93-96+153.
[4]Narayanan R,Ozisikyilmaz B,Zambreno J,et al.MineBench : A Bench-mark Suite for Data Mining Workloads[C]/ /Proceedings of the Work-load Characterization,2006 IEEE International Symposium,2006.
[5]Group IR.Parboil benchmark suite [R].2007.
[6]Che S,Boyer M,Meng J,et al.Rodinia : A benchmark suite for hetero-geneous computing[C]/ /Proceedings of the 2009 IEEE International Symposium on Workload Characterization ( IISWC).IEEE ComputerSociety,2009 : 44 54.
[7]刘德才,王鼎兴,沈美明,郑纬民.计算机性能指标MIPS的适用性分析[J].小型微型计算机系统,1994(11):7-12.
[8]叶亚明,刘横.基准程序法[J].计算机学报,1992(04):295-303.
[9]13.Securis Inc.Security Benchmark.com.http: //www.securitybenchmark. com/, 2005- 10 14.
[10]M Dal Cin.Dependability Benchmarking.http: //www.esat.kuleuven. ac.be/electa/dbench, 2003- 09 15.
[11]Dave Patterson, Armando Fox.The Berkeley/Stanford Recovery- Oriented Computing(ROC) Project.http: //roc.cs.berkeley.edu/, 2005- 11
[12]Cooper B F,Silberstein A,Tam E,et al.Benchmarking cloud serving systems with YCSB[C]//Proceedings of the 1st ACM symposium on Cloud computing.Indianapolis,Indiana,USA;ACM.2010:143 -154.
[13]Ferdman M,Adileh A,Kocberber O,et al.Clearing the clouds:a study of emerging scale-out workloads on modern hardware[C]//Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems.London,England,UK;ACM.2012:37 -48.
[14]Bienia C,Kumar S,Kai L.PARSEC vs.SPLASH-2:A quantitative comparison of two multithreaded benchmark suites on Chip-Multiprocessors[C]//Proceedings of the Workload Characterization,2008 IISWC 2008 IEEE International Symposium on Workload Characterization,2008.
[15]徐洁,王华,吴晓华,王雁东.浅析SPEC基准测试程序集及评价指标[J].实验科学与技术,2010,8(06):21-24.
[16]吕超,戴晨,张为华.计算机体系结构基准测试程序集的研究[J].计算机应用与软件,2013,30(10):189-194.
[17]刘杰,迟利华,蒋杰,徐涵,晏益慧,胡庆丰.大规模并行计算机系统性能测评体系[J].计算机工程与科学,2013,35(03):25-30.
[18]辛思达,王强,范方园,张春元. 面向通用可重构体系结构的基准测试程序集构建与评测[C]//.第十九届计算机工程与工艺年会暨第五届微处理器技术论坛论文集.,2015:162-170.

现代基准测试程序种类以及使用方法相关推荐

  1. Benchmark(基准测试程序)

    目录 1.简介:.... 1 2.应用:.... 1 3.组成:.... 1 3.1 数据集.... 1 3.2 工作负载.... 1 3.3 度量指标.... 1 4.运用.... 2 1.Hibe ...

  2. 高性能计算机的基准测试程序包括,863专家:从应用出发测试HPC只需三步走

    HPC选型测试只有从应用出发,以应用为先,方可有效避免HPC系统出现配置失衡或利用率不高等问题. 近年来,随着经济的高速发展,高性能计算(HPC)已经从最初的科研计算迈向更为广阔的商业计算和信息化服务 ...

  3. HTML5类选择器使用,CSS选择器种类及使用方法

    CSS选择器种类及使用方法 2018年04月17日 | 萬仟网IT编程 | 我要评论 css选择器 有通配符选择器书写格式:*+{声名块} 并集选择器/组合选择器 书写格式;元素或类或id+" ...

  4. 画笔和画刷的种类和使用方法

    画笔的使用和上一章的字体类似,首先用CreatePen()函数创建一个画笔对象,然后与设备文本绑定,同时得到旧的画笔.用完后删除新画笔,并且恢复旧画笔.画笔的种类有7种,参照下表及下面的例子. 值 说 ...

  5. 常见咳嗽种类、治疗方法和忌食大全

    常见咳嗽种类.治疗方法和忌食大全 一.风热咳嗽 症见发热,流涕,咳嗽,喉中痰鸣,咯吐黄痰,日重夜轻,小便黄赤,大便干燥,脉浮数,舌红苔厚腻,指纹红紫.治以疏风清肺,化痰止咳.方用鱼蛤石花汤:生石膏30 ...

  6. 计算机教室使用 灭火器,实验室灭火器的种类和使用方法

    <实验室灭火器的种类和使用方法>由会员分享,可在线阅读,更多相关<实验室灭火器的种类和使用方法(3页珍藏版)>请在人人文库网上搜索. 1.实验室灭火器的种类和使用方法灭火器的种 ...

  7. Css弦乐弱音器奏键位,小提琴弱音器的种类及使用方法

    弱音器是每个小提琴者在演奏时,需要的一项配件,小提琴弱音器的主要功用是调节音色改变与减弱琴声音量大小,利用弱音器本身的重量,牵制琴桥的震动方式与传导.今天学习啦小编为大家带来小提琴弱音器的种类及使用方 ...

  8. PHP气缸种类,气缸分类方法有哪些及气缸的种类

    气缸分类方法有哪些及气缸的种类 不少朋友对于活塞环间隙是多少这方面的信息颇感兴趣的.小编今天就为此整理了活塞环间隙是多少的相关讯息,希望对有需要的朋友有所帮助. 气缸分类方法有哪几种 目前一般的民用汽 ...

  9. Delphi 两种类的声明方法

    Delphi的类声明有两种方法,一种是继承了Delphi的内建类的声明,另一种则是完全自定义的类声明. 这两种类的区别不仅在于声明程序的不同,还会影响到对象实体的内存管理. 1 unit Unit1; ...

最新文章

  1. 信息系统项目管理师需要准备多久?备考技巧分享
  2. 100个高低压配电知识!网络弱电必备知识~
  3. 方维模板修改,发布分享、主题有商品时,标签需自动写到input里,不要再手动去点击添加,手动点击可取消...
  4. 【Java并发编程】之二:线程中断
  5. tensorflow 中,修改张量tensor特定元素的值
  6. Json文件转Map(三)之获取嵌套Map值
  7. 使用手机访问 Office 文档
  8. mysql lock table阻塞读_MySQL的lock tables和unlock tables的用法【数据库锁表】
  9. 【游戏引擎Easy2D】学C++还在面对黑框框?那是你没看这篇文,游戏引擎教会你
  10. linux 简单的cpu压力测试
  11. 为什么计算机和网络设备都需要接地,一个实例全面讲解机房如何做防雷接地?...
  12. web网页设计实例作业——代码质量好-上海介绍(5页) HTML+CSS+JavaScript(含源码)
  13. WX Live game
  14. android图片压缩之图片和内存基础
  15. LabVIEW基础-程序发布至web
  16. 2022护眼产品展,视力康复展,山东国际眼健康展会,护眼仪展
  17. arm解锁 j-flash_J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序
  18. java 15k,广州-Java高级-15k-22k(月薪)
  19. 成功发布Superdome Flex,新华三又在开先河
  20. 如何设置网页标签的LOGO

热门文章

  1. 数字摄影测量考试复习名词解释
  2. springboot 中如何使用 ingest-attachment
  3. 批处理切换host文件
  4. R语言-rethinking包下载安装心得(windows)
  5. 向量化回测系列1——单只股票的回测
  6. 解决Homebrew报错Error: Failure while executing;
  7. 理性讨论:字节跳动跟阿里,哪个环境更适合年轻人?
  8. BI可视化分析之Pentaho
  9. 浅谈编程(肺腑之言)
  10. 学生信息管理——包含了链表结点排序