|
知识路径: > 信息系统开发和运行管理知识 > 系统运行管理知识 > 系统的成本管理、用户管理、安全管理、性能管理 > 性能及能力管理 >
|
被考次数:10次
被考频率:高频率
总体答错率:47%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:22个
|
|
|
|
|
|
计算机系统性能评价技术是按照一定步骤,选用一定的度量项目,通过建模和实验,对计算机的性能进行测试并对测试结果做出解释的技术。计算机系统性能评价没有统一的规范。进行评价可以是为了不同的目的。不同的人员可能采用不同的度量项目、不同的测试方法和测试工具,对测试结果将做出不同解释。在IT系统的管理中,计算机系统的性能评价技术是十分重要的。
|
|
|
|
IT系统的运营管理要考察系统的运营状况,根据需要调整和改善系统软硬件和环境条件,以提高系统的业务支持能力;或者调整IT资产结构,在保障系统有效运转的前提下降低IT系统总体成本。IT系统运营管理的根本目的是以尽可能低的花费为组织的业务提供足够的和可靠的IT服务支持。
|
|
|
为了保障对业务提供持续可靠并且经济的IT支持,需要对系统性能进行科学而有效的管理。性能评价技术是在必要的时候(例如,新硬件设备采购的评测、定期系统能力评价、业务需求变更之时的能力评测和规划)作为性能管理的支撑技术出现的。
|
|
|
|
|
反映计算机系统负载和工作能力的常用指标主要有三类,具体如下。
|
|
|
|
时间是衡量计算机性能最主要和最为可靠的标准,系统响应能力根据各种响应时间进行衡量,它指计算机系统完成某一任务(程序)所花费的时间,比如访问磁盘、访问主存、输入/输出等待、操作系统开销,等等。
|
|
|
|
|
系统时间主要是指访问磁盘、访问主存和I/O等待的时间,因此衡量响应时间主要是衡量用户CPU时间。用户CPU时间取决于三个特征:时钟周期TC,指令平均时钟周期数CPI以及程序中总的指令数IN,用公式可以表示为:
|
|
|
|
|
|
其中n为指令的种类数量,CPIi是第i种指令的CPI,Ii是第i种指令使用的数量。
|
|
|
举个例子,A机执行的程序中有20%转移指令(2TC),转移指令都需要一条比较指令(1TC)配合,B机中转移指令已经包含了比较指令,但TC比A机慢15%。需要比较A机、B机哪个工作速度快。按照上述公式我们可以得出下面的计算结果:
|
|
|
A机:TCPUA=INA×(0.2×2+0.2×1+0.6×1)×TCA=1.2 INA×TCA
|
|
|
B机:TCPUB=0.8INA×((0.2/0.8)×2+(1-0.2/0.8)×1)×1.15TCA=1.15 INA×TCA
|
|
|
从比较的结果来看,B机比A机工作速度要快,因此,不能仅按CPU的主频衡量系统性能。
|
|
|
|
吞吐率指标是系统生产力的度量标准,描述了在给定时间内系统处理的工作量。系统的吞吐率是指单位时间内的工作量。例如,处理器的吞吐率是按每秒处理多少百万条指令(MIPS或者MFLOPS)来度量的。对于在线事务处理系统,吞吐率的度量是每秒处理多少事务(Transaction per second, TPS)。对于通信网络,吞吐率是指每秒传输多少数据报文(PPS)或多少数据位(BPS)。
|
|
|
系统的额定能力是指理想状态下,系统可承受的最大可能吞吐率。一般,我们都不期望让系统达到额定能力,因为此时响应时间太短,输出的显示也太快,以至于用户无法感觉到系统已经发生了响应。能使用户高效工作的能力被称为可用能力。可用能力与额定能力之间的比例就称为系统的效率。
|
|
|
吞吐率指标与系统的负荷之间的关系如下图所示。最初,在系统的负荷较小时,吞吐率指标增长很快。到某个点时,吞吐率指标的增长率会降低。该点的吞吐率称为拐点能力。继续增加负荷,到某一点时,吞吐率会逐步降低,即此时系统出现超负荷现象。
|
|
|
|
|
吞吐率指标是要按照工作单位(即作业、任务、指令等)来定义的。还有,时间性指标与吞吐率指标之间存在相互依赖的关系,响应比较敏捷的系统通常具有较高的吞吐率。
|
|
|
下面介绍一下MIPS、MFLOPS、TPS等几个反映系统吞吐率的概念。
|
|
|
①每秒百万次指令(Million Instruction Per Second, MIPS)。
|
|
|
|
MIPS=指令数/(执行时间×1 000 000)
|
|
|
MIPS的大小和指令集有关,不同指令集的计算机间的MIPS不能做比较,因此在同一台计算机上的MIPS是变化的,因程序不同而变化。MIPS中,除包含运算指令外,还包含取数、存数、转移等指令。相对MIPS是指相对于参照机而言的MIPS,通常用VAX-11/780机处理能力为1MIPS。
|
|
|
②每秒百万次浮点运算(Million Instruction Per Second,MFLOPS)。
|
|
|
|
MFLOPS=浮点指令数/(执行时间×1 000 000)
|
|
|
1MFLOPS约等于3MIPS。MIPS只适宜于评估标量机,不能用于评估向量机,而MFLOPS则比较适用于衡量向量机的性能。但是MFLOPS仅仅只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。例如编译程序,不管机器的性能有多好,它的MFLOPS不会太高。MFLOPS是基于操作而非指令的,所以它可以用来比较两种不同的机器。例如100%的浮点加要远快于100%的浮点除。单个程序的MFLOPS值并不能反映机器的性能。
|
|
|
③位每秒(Bits per second, BPS)。
|
|
|
计算机网络信号传输速率一般以每秒传送数据位(Bit)来度量,简写为BPS。更大的单位包括KBPS (Kilo bits per second)和MBPS (Million bits per second)。
|
|
|
④数据报文每秒(Packets per second,PPS)。
|
|
|
通信设备(例如路由器)的吞吐量通常由单位时间内能够转发的数据报文数量表示,简写为PPS。更大的单位包括KPPS (Kilo packets per second)和MPPS (Million packets per second)。
|
|
|
⑤事务每秒(Transaction per second,TPS)。
|
|
|
|
(3)资源利用率(Utilization Ratio)。
|
|
|
资源利用率指标以系统资源处于忙状态的时间为度量标准。系统资源是计算机系统中能分配给某项任务的任何设施,包含系统中的任何硬件、软件和数据资源。例如,CPU的利用率指标应是CPU忙的时间总量t除以运行时间总量T。系统资源未被利用的时间片段被称为空闲时间。对于一个平衡的系统而言,系统空闲与忙的时间片均匀地分布在整个运行时间内,因此系统资源既不会太忙也不会太闲。
|
|
|
|
|
系统可靠性通常反映系统处理用户工作的可用性或处理过程失败或错误的概率。系统可用的那部分时间被称为正常运行时间,系统不可用的时间被称为停机故障时间。平均故障间隔时间MTBF (Mean Time Between Failure)是系统在相邻两次故障之间工作时间的数学期望。通常我们更要关注两次故障之间工作时间的分布特征。有时,MTBF相对较短,但分布图上可能显示出在个别情况下,相邻故障之间的时间会较长,此时的代价会很大。
|
|
|
|
系统失效后在规定时间内可被修复到规定运行水平的能力。可维护性用系统发生一次失败后,系统返回正常状态所需的时间来度量,它包含诊断、失效定位、失效校正等时间。一般用相邻两次故障间工作时间的数学期望,即平均修复时间(Mean Time Between Failure, MTTR)来表示。
|
|
|
|
系统的软硬件的扩充能力,可提高系统性能,如扩展槽允许增加插件板到系统上,又如操作系统支持增加处理器、内存及其他资源,等等。
|
|
|
|
可维修系统在某时刻能提供有效使用的程度。主要包括使用方便程度以及系统的稳定程度等。有时也指系统实际可用时间与计划提供使用时间的比例。
|
|
|
|
系统电能消耗量。世界环保组织已制定了计算机及相关设备的一些功耗限额。
|
|
|
|
系统现有的硬件或软件与另一个系统或多种系统的硬件和软件的兼容能力和经过整合进行共同工作的能力。
|
|
|
|
程序和数据等信息的安全程度,如数据不被破坏和不被非法修改等。
|
|
|
|
确保系统内信息和数据不被非法人员存取,在系统内设置的保密措施,如使用保密锁、保密码等,使个人或组织有保护和使用他们的数据的专门权利。
|
|
|
|
系统对环境的适应能力,即外界环境改变时系统为保持正常工作的进行调节的能力。
|
|
|
以上列出的系统性能指标中,系统的可靠性、可维护性、可用性和功耗都有定量指标,兼容性、安全性、保密性和可扩展性属于定性指标。
|
|
|
由于性能度量指标的重要程度与具体系统的用户的需求有关,例如军用、商用或者民用的系统之间均会有不同的权重顺序。可以按照具体需求分级别和顺序设置性能评价指标。
|
|
|
|
系统性能评价尽管包括许多综合性指标和定性的评价指标,但这些都是建立在对系统硬件和软件的众多具体性能指标的监视和评价基础之上的,因此对性能评价项目进行识别和设置是进行性能评价的基础工作。
|
|
|
计算机系统的性能集中体现在处理器、内主存和外存磁盘几大件上,它们的性能以及相互之间的工作支持情况基本决定了系统的整体性能,因此系统性能监视评价的项目主要是CPU、主存、磁盘,此外,越来越多地运行在网络上的分布式计算机系统的性能还极大地依赖于网络,因此网络也是性能评价的一个重要项目。
|
|
|
|
CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
|
|
|
|
除了CPU,内存也是影响系统性能的最常见的瓶颈之一。看系统内存是否够用的一个重要参考就是分页文件的数目,分页文件是硬盘上的真实文件,当操作系统缺少物理内存时,它就会把内存中的数据挪到分页文件中去,如果单位时间内此类文件使用频繁(每秒个数大于5),那就应该考虑增加内存。具体考察内存的性能的参数包括内存利用率、物理内存和虚拟内存的大小。
|
|
|
|
需要关注跟磁盘的性能有关的几个参数:硬盘忙和空闲的时间比例、每秒读写次数、每次传输平均耗时和硬盘队列长度等。时间越长、队列越长,说明硬盘越忙,硬盘应用时的性能越差。如果硬盘忙不是因为内存缺乏导致频繁交换的话,就要采取相应的措施。
|
|
|
|
衡量网络性能的主要参数是看网络发送、接收的数据量,带宽的利用情况等。
|
|
|
|
系统性能的评价方法大致可分为两类:模型法和测量法。
|
|
|
|
用模型法对系统进行评价,首先应对要评价的计算机系统建立一个适当的模型,然后求出模型的性能指标,以便对系统进行评价。此法既可用于已建成并在运转中的系统,也可用于尚在规划中而并未存在的计算机系统,可以比较方便地应用于设计和改进。模型法与测量法是相互联系的,在模型中使用的一些参数往往来源于对实际系统的测量结果。
|
|
|
|
分析模型法是在一定假设条件下,计算机系统参数与性能指标参数之间存在着某种函数关系,按其工作负载的驱动条件列出方程,用数学方法求解。分析模型法中使用得最多的是排队模型。排队模型包括三个部分。
|
|
|
.输入流。指各种类型的“顾客”按什么样的规则到来。
|
|
|
.排队规则。对于来的顾客按怎样的规则次序接受服务,例如实现顺序服务还是按顾客的急迫程度服务。
|
|
|
.服务机构。指同一时刻有多少服务设备可接纳顾客,为每一顾客需要服务多少时间。一般,服务机构过小,不能满足顾客的需要,将使服务质量降低;服务机构过大,人力物力的开支增加,因此产生了顾客需要和服务机构之间的协调问题。怎样才能做到既满足顾客的需要,又使服务机构的费用最低,是“排队论”要研究解决的问题。在计算机系统中,把需要处理的各种作业、命令等当作“顾客”,把计算机的各种软、硬部件如中央被处理机、存储器、输入输出设备、编译模块等当作“服务员”,当某作业在中央处理机中被处理时,就意味着作业(顾客)在接受这个“服务员”的服务。至于排队规则,也可以是先到先服务或有某些优先级的服务。这样就可以把“排队论”的许多成果应用于计算机系统性能评价。
|
|
|
为了使模型的使用对系统的评价有价值,必须解决以下三个问题。
|
|
|
.设计模型。根据对系统和工作负载的分析、测量来设计恰当的模型。一般设计出的模型只是部分地反映出系统的特性,而且是所要关心的那部分特性。
|
|
|
.解模型。如果有现成的“排队论”结论,就可以直接使用。不然,则需要提出新的解决办法。
|
|
|
.校准和证实模型。为了使模型化研究的结果可靠,其精度必须经过校准和证实,以达到可接受的程度。
|
|
|
模拟分析法和分析模型法不同,它不是用一些数学方程去刻画系统的模型,而是用模拟程序的运行去动态表达计算机系统的状态,并进行统计分析,得出性能指标。这种模型可以更加详细地刻画出原来的计算机系统,并且也可以比较灵活地加以控制,但构造模拟模型的费用较大,每次使用时还必须运行模拟程序。
|
|
|
这种模型法需要有一个建立模型并编制模拟程序的过程,然后校准和证实模型,才能计算出所要的性能指标。
|
|
|
|
通过一定的测量设备或测量程序,测得实际运行的计算机系统的各种性能指标或与之有关的量,然后对它们进行某些计算处理得出相应的性能指标,这是最直接最基本的方法。要使用测量方法,要解决以下问题。
|
|
|
(1)根据系统评价目的和需求,确定测量的系统参数。
|
|
|
(2)选择测量的方法和工具。测量的方式有两种,一种为采样方式。即每隔一定的时间间隔,对计算机系统的一些参数进行一次测量,另一种为时间跟踪方式,先规定一些要测量的事件,如一个作业开始执行、某个寄存器具有某种模式等,以后每当计算机系统中出现这种事件时就进行一次测量。
|
|
|
常用的测量工具可分为硬件测量工具、软件测量工具、固件测量工具以及混合型测量工具。目前许多测量工具已成为定型产品,可以直接购买和使用,有不少软件测量工具也已被结合到系统软件之中。
|
|
|
(3)在测量时工作负载的选择。为了使测量所得的结果有代表性,在测量时,计算机系统应处于测量者要求的工作负载情况。为此,有两种方法:一种是让计算机系统在日常的使用状况下运行,但选择某些与测量者要求相接近的时间区间。例如要测量系统在中负载条件下的性能,就应选择在每天系统使用最忙碌的时段进行测量。另一种是由测量者编写一组能反映他们要求的典型程序,或者选择市场上已有的一些适合他们要求的典型程序,例如对于字处理和文件服务、数据库处理、图像处理、科学和工程计算等都有一些已编制好的基准程序(benchmark)。两种工作负载相比,前一种工作负载常在做系统性能监控时使用:后一种工作负载在比较各种系统或选购新系统时使用。
|
|
|
测量法、分析模型法和模拟模型法三者得出的结果可以相互起到证实的作用。
|
|
|
|
常见的一些计算机系统的性能指标大都是用某种基准程序测量出的结果。下面介绍几类系统性能的基准测试程序,按评价准确性递减的顺序给出。
|
|
|
(1)实际的应用程序方法运行例如C编译程序、Tex正文处理软件、CAD工具,等等。
|
|
|
(2)核心基准程序方法(Kernel Benchmark)从实际的程序中抽取少量关键循环程序段,并用它们来评价机器的性能。
|
|
|
(3)简单基准测试程序(Toy Benchmark)简单基准测试程序通常只有10~100行而且运行结果是可以预知的。
|
|
|
(4)综合基准测试程序(Synthetic Benchmark)是为了体现平均执行而人为编制的,类似于核心程序,没有任何用户真正运行综合基准测试程序。
|
|
|
(5)整数测试程序Dhrystone用C语言编写,100条语句。包括各种赋值语句、各种数据类型和数据区、各种控制语句、过程调用和参数传送、整数运算和逻辑操作。VAX-11/780的测试结果为每秒1 757个Dhrystones即:
|
|
|
1VAX MIPS=1757 Dhrystones / Second
|
|
|
(6)浮点测试程序Linpack用FORTRAN语言编写,主要是浮点加法和浮点乘法操作。用MFLOPS (Million Floating Point Operations Per Second)表示,GFLOPS、TFLOPS Top500用这些程序进行测试。
|
|
|
(7) Whetstone基准测试程序Whetstone是用FORTRAN语言编写的综合性测试程序,主要由执行浮点运算、整数算术运算、功能调用、数组变址、条件转移和超越函数的程序组成。Whetstone的测试结果用Kwips表示,1kwips表示机器每秒钟能执行1 000条Whetstone指令。
|
|
|
(8) SPEC基准测试程序SPEC是System Performance Evaluation Cooperative的缩写,是几十家世界知名计算机大厂商所支持的非盈利的合作组织,旨在开发共同认可的标准基准程序。
|
|
|
(9) SPEC基准程序是由SPEC开发的一组用于计算机性能综合评价的程序。以对VAX11/780机的测试结果作为基数,其他计算机的测试结果以相对于这个基数的比例来表示。SPEC基准程序能较全面地反映机器性能,有一定的参考价值。SPEC版本1.0是1989年10月被宣布的,是一套复杂的基准程序集,主要用于测试与工程和科学应用有关的数值密集型的整数和浮点数方面的计算。源程序超过15万行,包含10个测试程序,使用的数据量比较大,分别测试应用的各个方面。SPEC基准程序测试结果一般以SPECmark(SPEC分数)、SPECint (SPEC整数)和SPECfp (SPEC浮点数)来表示。其中SPEC分数是10个程序的几何平均值,SPEC整数是4个整数程序的几何平均值,SPEC浮点数是6个浮点程序的集合平均值。1992年在原来SPECint89和SPECfp89的基础上增加了两个整数测试程序和8个浮点数测试程序,因此SPECint92由6个程序组成,SPECfp92由14个程序组成。这20个基准程序是基于不同的应用写成的,主要测量32位CPU、主存储器、编译器和操作系统的性能。1995年,这些厂商又共同推出了SPECint95和SPECfp95作为最新的测试标准程序,之后又不断推出新版本。
|
|
|
(10) TPC (Transaction Processing Council)基准程序TPC是Transaction Processing Council(事务处理委员会)的缩写,TPC基准程序是由TPC开发的评价计算机事务处理性能的测试程序,用以评价计算机在事务处理、数据库处理、企业管理与决策支持系统等方面的性能。TPC成立与1988年,目前已有40多个成员,几乎包括了所有主要的商用计算机系统和数据库系统。该基准程序的评测结果用每秒完成的事务处理数TPC来表示。TPC基准测试程序在商业界范围内建立了用于衡量机器性能以及性能价格比的标准。
|
|
|
|
利用不同基准测试程序对计算机系统进行测试可能会得到不同的性能评价结果,对这些评价结果进行统计和比较分析,可以得到较为准确的接近实际的结果。
|
|
|
性能评价的结果通常有两个指标,一个是峰值性能,一个是持续性能,其中持续性能最能体现系统的实际性能。
|
|
|
|
峰值性能是指在理想情况下计算机系统可获得的最高理论性能值,它不能反映系统的实际性能,而实际性能往往只有峰值性能的5%~35%。
|
|
|
|
表示持续性能常用的三种平均值是算术平均、几何平均和调和平均。
|
|
|
(1)算术性能平均值Am就是简单地把n个程序组成的工作负荷中每个程序执行的速率(或执行所费时间的倒数)加起来求其对n个程序的平均值。
|
|
|
|
(2)几何性能平均值Gm就是各个程序的执行速率连乘再开n次方得到结果。
|
|
|
|
(3)调和性能平均值Hm就是算出各个程序执行速率倒数(即执行时间)和的平均值的倒数。因为Hm与所有测试程序时间总和成反比关系,所以Hm最接近CPU的实际性能。
|
|
|
|
在上面的三种表示方式中,只有Hm的值是真正与所测程序的运行时间总和成反比的,因此采用调和性能平均值来衡量计算机系统的性能是较为精确的。当对各种计算机性能进行比较而对其性能规格化时,用Gm几何平均值表示法更能方便反映真实情况。
|
|
|