计算机系统性能评测综述
计算机系统性能评测综述 摘要: 计算机系统性能评测是计算机科学的一个重要分支。为了获得计算机系统 在执行某类操作的性能,人们构造了各种评测程序,通过这些评测程序来获得计 算机系统在运行任务时的性能特征, 从而获得计算机在不同情况下的性能测试数 据,这些数据就显示了计算机性能的高低。 关键词:性能评测,操作系统,计算性能 前言 随着科学技术的日益进步,计算机得到了快速发展,其中,性能作为计算机 最重要的特性之一,一直被受人们的关注。在现代,计算机各种功能的增加,运 行程序的增加,程序需要迅捷,高效的被处理,那么计算机性能就是重中之重。 因此对一个计算机进行系统性能评测就是必须且必要的。 1 计算机系统性能评测? 性能代表系统的使用价值。性能评价技术研究使性能成为数量化的、能进行 度量和评比的客观指标, 以及从系统本身或从系统模型获取有关性能信息的方法。 前者即测量技术,后者包括模拟技术和分析技术。性能评价通常是与成本分析综 合进行的,借以获得各种系统性能和性能价格比的定量值,从而指导新型计算机 系统(如分布计算机系统)的设计和改进,以及指导计算机应用系统的设计和改进, 包括选择计算机类型、型号和确定系统配置等。 在 20 世纪 60 年代中期,出现了多任务、多用户的计算机系统,随着大家对这种 系统的应用, 人们发现这些系统表现出来的实际性能并没有预计的好,从而引发 了对计算机系统性能评价的研究。计算机系统性能评价就是采用测量、模拟、分 析等方法和工具,研究计算机系统的生产率、利用率、响应特性等系统性能。这 里,性能代表系统的使用价值。 性能评价技术就是将看不见摸不着的性能转换为人们能够数量化和可以进 行度量和评比的客观指标, 以及从系统本身或从系统模型获取有关性能信息的方 法。前者即测量技术,后者包括模拟技术和分析技术。 性能评价通常是与成本分析结合在一起,以获得各种系统性能和性能价格比 的定量值,然后可以指导新型计算机系统(如分布式文件系统)的设计和改进, 以及指导计算机应用系统的设计和改进,包括选择计算机类型、型号和确定系统 配置等。 1.1 性能指标 计算机系统性能指标有两类:可用性、工作能力。 可用性:它指计算机能够持续工作时间,一般用平均无故障时间和可恢复性 来表示。 工作能力:它指计算机在正常工作状态下所具有的能力。它们是系统性能评 价的主要研究对象。常用的工作能力指标由:吞吐量、延迟和资源利用率。 吞吐量:单位时间内系统的处理能力,指单位时间内完成的任务数。对于不 同目标可能含义不同。例如,在评价一个数据库系统时,所指的吞吐量可以是单 位时间内交易完成的个数;在评价一个网络系统是,吞吐量指单位时间内传输的 字节数等。 延迟:完成一个指定任务所花费的时间。例如,在评价一个数据库系统时, 可以考察它完成一个查询,或完成一个数据处理所需要的时间;在评价一个网络 系统时,可以考察发送一个网络包所需要的时间等。 资源利用率:指完成一个任务所需要花费的系统资源。例如完成一个数据处 理、所占用处理器的时间、占用内存的大小或占用网络带宽的大小等。 吞吐量越高、延迟越少、资源利用率越低则表示系统的性能越好。 1.2 性能测试目的 在众多的系统中选择一个最适合系统,即在一定的价格范围内选择性能最好 的系统,达到较好的性能/价格比。 2.如何性能测试 2.1 性能测试指标 2.1.1 应用系统的负载能力 即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支 持的最多的客户端的数量。 2.1.2 应用系统的吞吐率 即应用系统在单位时间内完成的交易量,也就是在单位时间内,应用系统针 对不同的负载压力,所能完成的交易数量。 2.1.3 系统的响应能力 即在各种负载压力情况下,系统的响应时间,也就是从客户端请求发起,到 服务器端应答返回所需要的时间,包括网络传输时间和服务器处理时间。 2.1.4 应用系统的可靠性 即在连续工作时间状态下,系统能够正常运行的时间,即在连续工作时间段 内没有出错信息。 2.2 性能测试 从广泛意义上讲性能测试包括:压力测试、稳定性测试、负载能力测试和可 扩展性测试等。 在不同应用系统的性能测试中,需要根据应用系统的特点和测试 目的的不同来选择具体的测试方案。 在性能测试中,压力测试主要是为了获取系统在较大压力状况下的性能表现 而设计并实现的,压力测试主要是获取系统的性能瓶颈和系统的最大吞吐率。 压力测试的目的就是检验系统的最大吞吐量, 检验现行的业务系统在各种压力交 易量下的运行状况,检验系统地运行瓶颈,获取系统的处理能力等等。 稳定性测试就测试系统的长期稳定运行能力。在系统运行过程中,对系统施 压,观察系统的各种性能指标,以及服务器的指标。 负载测试是一种性能测试, 指数据在超负荷环境中运行, 程序是否能够承担。 通 过逐步增加系统负载,确定在满足性能指标的情况下,系统所能承受的最大 负载量。 可扩展性测试是否支持可扩展性是指音箱是否支持多声道同时输入,是否有 接无源环绕音箱的输出接口,是否有 USB 输入功能等。 3 计算机性能的主要评测手段 计算机性能的主要评测手段主要包括测量、模拟、分析方法。 3.1 测量方法 测量是最基本、最重要的系统性能评价手段。测试设备向被测设备输入一组 测试信息并收集被测设备的原始输出, 然后进行选择、 处理、 记录、 分析和综合, 并且解释其结果。 上述这些功能一般是由被测的计算机系统和测量工具共同完成 的,其中测量工具完成测量和选择功能。 测量工具分硬件工具和软件工具两类。硬件测量工具附加到被测计算机系统 内部去测量系统中出现的比较微观的事件(如信号、 状态)。 典型的硬件检测器有 定时器、序列检测器、比较器等。例如,可用定时器测量某项活动的持续时间; 用计数器记录某一事件出现的次数; 用序列检测器检测系统中是否出现某一序列 (事件)等。数据的采集、状态的监视、寄存器内容的变化的检测,也可以通过执 行某些检测程序来实现。这类检测程序即软件测量工具。例如,可按程序名或作 业类收集主存储器、辅助存储器使用量、输入卡片数、打印纸页数、处理机使用 时间等基本数据;或者从经济的角度收集管理者需要的信息;或者收集诸如传送 某个文件的若干个记录的传送时间等特殊信息; 或者针对某个程序或特定的设备 收集程序运行过程中的一些统计量,以及发现需要优化的应用程序段等。硬件监 测工具的监测精度和分辨率高,对系统干扰少; 软件监测工具则灵活性和兼容性 好,适用范围广。测量方法是最直接、最基本的方法,其他方法也要依赖于测量 的量,但是它比较浪费时间,只适合于已经存在并运行的系统。 3.2 分析方法 分析方法可为计算机系统建立一种用数学方程式表示的模型,进而在给定输 入条件下通过计算获得目标系统的性能特性。 该方法一般应用于系统的设计阶段, 这时候因为没有完整的实时系统导致测量方法不能使用,因此,分析方法在系统 建模的初期显得尤其重要。为了使得抽象的模型在数学上能够理解,我们需要对 系统进行简化和高度抽象,因此这种模型刻画系统有一定的偏差。例如,在分析 模型中, 考虑时间分布的函数的时候只用指数分布函数。而这一点限制在模拟方 法中可以去掉。 一般来说,因