下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

怎样衡量系统性能评价

作者:课课家教育     来源: http://www.kokojia.com点击数:985发布时间: 2017-04-19 08:00:28

标签: 计算机系统开发网络工程师网络规划设计师

  性能评价技术就是将看不见摸不着的性能转换为人们能够数量化和可以进行度量和评比的客观指标,以及从系统本身或从系统模型获取有关性能信息的方法。前者即测量技术,后者包括模拟技术和分析技术。性能评价通常是与成本分析结合在一起,以获得各种系统性能和性能价格比的定量值,然后可以指导新型计算机系统(如分布计算机系统)的设计和改进,以及指导计算机应用系统的设计和改进,包括选择计算机类型、型号和确定系统配置等。

     通常,衡量一个软件系统性能的常见指标有:

  并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(LoadTesting)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(StressTesting)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

  并发性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。

  当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产环境中实际使用起来,用户往往会产生疑问,这套系统能不能承受大量的并发用户同时访问?这类问题最常见于采用联机事务处理(OLTP)方式数据库应用、Web浏览和视频点播等系统。这种问题的解决要借助于科学的软件测试手段和先进的测试工具。

  1.响应时间(Responsetime)

  响应时间就是用户感受软件系统为其服务所耗费的时间,对于网站系统来说,响应时间就是从点击了一个页面计时开始,到这个页面完全在浏览器里展现计时结束的这一段时间间隔,看起来很简单,但其实在这段响应时间内,软件系统在幕后经过了一系列的处理工作,贯穿了整个系统节点。根据“管辖区域”不同,响应时间可以细分为:

  (1)服务器端响应时间,这个时间指的是服务器完成交易请求执行的时间,不包括客户端到服务器端的反应(请求和耗费在网络上的通信时间),这个服务器端响应时间可以度量服务器的处理能力。

  (2)网络响应时间,这是网络硬件传输交易请求和交易结果所耗费的时间。

  (3)客户端响应时间,这是客户端在构建请求和展现交易结果时所耗费的时间,对于普通的瘦客户端Web应用来说,这个时间很短,通常可以忽略不计;但是对于胖客户端Web应用来说,比如Javaapplet、AJAX,由于客户端内嵌了大量的逻辑处理,耗费的时间有可能很长,从而成为系统的瓶颈,这是要注意的一个地方。

  那么客户感受的响应时间其实是等于客户端响应时间+服务器端响应时间+网络响应时间。细分的目的是为了方便定位性能瓶颈出现在哪个节点上(何为性能瓶颈,下一节中介绍)。下面是重庆市某年进行的性能指标测试:

怎样衡量系统性能评价_计算机系统开发_网络工程师_网络规划设计师_课课家教育

  2.吞吐量(Throughput)

  吞吐量是我们常见的一个软件性能指标,对于软件系统来说,“吞”进去的是请求,“吐”出来的是结果,而吞吐量反映的就是软件系统的“饭量”,也就是系统的处理能力,具体说来,就是指软件系统在每单位时间内能处理多少个事务/请求/单位数据等。但它的定义比较灵活,在不同的场景下有不同的诠释,比如数据库的吞吐量指的是单位时间内,不同SQL语句的执行数量;而网络的吞吐量指的是单位时间内在网络上传输的数据流量。吞吐量的大小由负载(如用户的数量)或行为方式来决定。举个例子,下载文件比浏览网页需要更高的网络吞吐量。

  3.资源使用率(Resourceutilization)

  常见的资源有:CPU占用率、内存使用率、磁盘I/O、网络I/O。

  4.点击数HPS(Hitspersecond)

  点击数是衡量WebServer处理能力的一个很有用的指标。需要明确的是:点击数不是我们通常理解的用户鼠标点击次数,而是按照客户端向WebServer发起了多少次http请求计算的,一次鼠标可能触发多个http请求,这需要结合具体的Web系统实现来计算。

  5.TPS-TPS:Transactionpersecond,每秒钟系统能够处理的交易或者事务的数量。它是衡量系统处理能力的重要指标。

  6.并发用户数(Concurrentusers)

  并发用户数用来度量服务器并发容量和同步协调能力。在客户端指一批用户同时执行一个操作。并发数反映了软件系统的并发处理能力,和吞吐量不同的是,它大多是占用套接字、句柄等操作系统资源。下面是某院智能评价系统所示:

6.并发用户数(Concurrentusers)    并发用户数用来度量服务器并发容量和同步协调能力。在客户端指一批用户同时执行一个操作。并发数反映了软件系统的并发处理能力,和吞吐量不同的是,它大多是占用套接字、句柄等操作系统资源。下面是某院智能评价系统所示:

  一般来说,计算机系统性能有如下几种:

  1)处理能力:一般包含计算速度、吞吐率、响应时间/平均响应时间。其中计算速度有峰值速度、持续可用速度、定点或浮点运算速度,计算速度是用来评价计算机尤其是高性能计算机的主要考量,如我们选购计算机时关注的CPU的主频,严格来说,CPU的主频与CPU实际的运算能力并没有直接关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存、指令集,CPU的位数等等),虽然CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的;吞吐率是单位时间内计算机系统完成的任务数,吞吐率越高,计算机系统的处理能力就越强;响应时间/平均响应时间是从计算机系统得到输入到给出输出结果之间的时间,一般用户比较关心,不过一般响应时间还和使用的软件有关。

  2)可靠性:计算机系统正常工作的能力。它要求计算机系统首先是可靠的,或者一旦计算机系统发生故障,它应该具有容错的能力,再或者系统出错后能迅速恢复。通俗的将,即计算机系统最好不要出错,或者少出错,或者出错后能够及时恢复工作状态。由于计算机系统由硬件和软件组成,它们对整个系统的可靠性影响呈现完全不同的特性:硬件和一般人工产品的机件一样,时间一长就要出毛病。软件则相反,时间越长越可靠。因为潜藏的错误(Bug)陆续被发现并解决,它又没有磨损、氧化、松动等问题。所以,计算机的可靠性是指分别研究硬件的可靠性和软件的可靠性。

  3)利用率:即在一段时间内被使用的时间(次数)占总时间(总使用次数)的百分比,有硬件利用率、软件利用率、指令利用率等。提高计算机硬件性能利用率多半是对服务器而言,比如很多不同目的的服务器,大部分时间只使用了30%左右的硬件资源,剩余的都是闲置的。目前一般采用VM等虚拟化技术提高计算机利用率。

  4)易用性:计算机系统方便用户使用的用户感知度,这是用户选购计算机系统时会考虑的重要指标,通常是对软件系统来说的,比如Windows和Unix的区别,一般用户肯定倾向于使用Windows系统,只有专业人士或者要求安全性高的用户会使用Unix系统。

  5)功耗及对环境的要求:对于特殊环境下使用的计算机系统尤其重要,如军用、航天计算机、水下计算机等。计算机系统设计人员也需要考虑对环境的因素,如电压是否稳定等。

1)处理能力:一般包含计算速度、吞吐率、响应时间/平均响应时间。其中计算速度有峰值速度、持续可用速度、定点或浮点运算速度,计算速度是用来评价计算机尤其是高性能计算机的主要考量,如我们选购计算机时关注的CPU的主频,严格来说,CPU的主频与CPU实际的运算能力并没有直接关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存、指令集,CPU的位数等等),虽然CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的;吞吐率是单位时间内计算机系统完成的任务数,吞吐率越高,计算机系统的处理能力就越强;响应时间/平均响应时间是从计算机系统得到输入到给出输出结果之间的时间,一般用户比较关心,不过一般响应时间还和使用的软件有关。    2)可靠性:计算机系统正常工作的能力。它要求计算机系统首先是可靠的,或者一旦计算机系统发生故障,它应该具有容错的能力,再或者系统出错后能迅速恢复。通俗的将,即计算机系统最好不要出错,或者少出错,或者出错后能够及时恢复工作状态。由于计算机系统由硬件和软件组成,它们对整个系统的可靠性影响呈现完全不同的特性:硬件和一般人工产品的机件一样,时间一长就要出毛病。软件则相反,时间越长越可靠。因为潜藏的错误(Bug)陆续被发现并解决,它又没有磨损、氧化、松动等问题。所以,计算机的可靠性是指分别研究硬件的可靠性和软件的可靠性。    3)利用率:即在一段时间内被使用的时间(次数)占总时间(总使用次数)的百分比,有硬件利用率、软件利用率、指令利用率等。提高计算机硬件性能利用率多半是对服务器而言,比如很多不同目的的服务器,大部分时间只使用了30%左右的硬件资源,剩余的都是闲置的。目前一般采用VM等虚拟化技术提高计算机利用率。    4)易用性:计算机系统方便用户使用的用户感知度,这是用户选购计算机系统时会考虑的重要指标,通常是对软件系统来说的,比如Windows和Unix的区别,一般用户肯定倾向于使用Windows系统,只有专业人士或者要求安全性高的用户会使用Unix系统。    5)功耗及对环境的要求:对于特殊环境下使用的计算机系统尤其重要,如军用、航天计算机、水下计算机等。计算机系统设计人员也需要考虑对环境的因素,如电压是否稳定等。

  另外,度量软件系统的性能指标还有系统恢复时间等,其实凡是用户有关资源和时间的要求都可以被视作性能指标,都可以作为软件系统的度量,而性能测试就是为了验证这些性能指标是否被满足。按照某个或某类计算机系统的用途,求出它的性能指标,并给出其优劣性的评论,研究计算机系统配置、系统负载和性能指标之间的相互关系,进一步优化计算机系统,或者推荐用户选购更合适的计算机系统。无论生产商还是用户,都需要某种方法来衡量计算机系统的性能,但由于系统很复杂,体系结构和实现的策略多样,因此很难采用统一的标准去评测所有的计算机。

  更多详细内容,尽在课课家教育,我们期待您的咨询!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程