性能测试指标的理解--cpu和load

第一次做性能测试,按照操作文档磕磕碰碰的完成了,并且拿到了结果,看到一堆的指标和数据,还是傻眼了,不知道各个指标是什么意思了。

  咨询了大牛和度娘,消化理解了一下,不知道是不是正确的。

  CPU使用率:

  一段时间内CPU的使用状况,从这个指标可以看出某一段时间内CPU资源被占用的情况。

  Load Average:

  某一段时间内,CPU正在处理以及等待CPU处理的进程数的之和。Load Average是从另一个角度来体现CPU的使用状态的。

  CPU使用率和Load Average的关系:

  拿去医院体检做一个例子:

  用户:待检查的同学

  CPU:检查的科室(B超、眼科。。。。)

  1、  Load 高,CPU使用率低 :

  眼科一共有3个医生,检查有次序,必须前一个医生检查结束了才能到下一个医生处理

  由于第一个医生的检查耗时比较长,导致后面很多同学排队,但是接下去2个医生都处于空闲状态。

  Load:等待的同学,由于等待的同学较多,所以Load的值较高

  CPU使用率:只有一个医生处于工作状态,所以CPU的使用率为33.33%

  2、  Load低,CPU使用率高:

  假设B超科室有和眼科同样多的医生,但是每个医生之间的工作是独立的。

  来一个新同学的时间,大约是检查完一个同学的时间。

  Load:等待的同学,基本<=1

  CPU使用率:每个医生都处于忙碌状态,CPU使用率接近100%

  由上面可以看到,不能单纯从一个方面来看性能的优劣。同样,性能调优也可以从多方面入手。   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

时间: 2024-09-24 11:49:18

性能测试指标的理解--cpu和load的相关文章

性能测试指标的获取

一个好的性能测试必须要有明确而且全面的性能测试指标,而性能指标的获取常常困扰测试人员,这里简单说一下我在工作中所用到的方法: 1. 有明确的性能测试需求文档 这是测试人员希望看到的,产品经理通过需求的获取(或与客户的交流)定义明确的性能指标,如:在局域网中,用户身份验证要小于2秒.当然产品经理并不一定能够面面俱到,所以测试人员需要及时介入性能测试需求文档的review,根据经验从客户的角度挖掘更多更重要的性能指标. 2. 无明确性能测试需求文档 这种情况最是困扰测试人员,一般来说,我们可以从以下

shell如何监控cpu,memory,load average

shell 监控cpu,memory,load average,记录到log,当负载压力时,发电邮通知管理员. 原理: 1.获取cpu,memory,load average的数值 2.判断数值是否超过自定义的范围,例如(CPU>90%,Memory<10%,load average>2) 3.如数值超过范围,发送电邮通知管理员.发送有时间间隔,每小时只会发送一次. 4.将数值写入log. 5.设置crontab 每30秒运行一次. 返回栏目页:http://www.bianceng.c

软件性能测试指标及其注意地方

并发性能测试的种类与指标 并发性能测试的种类取决于并发性能测试工具监控的对象,以QALoad自动化负载测试工具为例.软 件针对各种测试目标提供了DB2.DCOM.ODBC.ORACLE.NETLoad.Corba.QARun.SAP.SQLServer. Sybase.Telnet.TUXEDO.UNIFACE.WinSock.WWW.Java scrīpt等不同的监控对象,支持Windows和UNIX测试环境. 最关键的仍然是测试过程中对监控对象的灵活应用,例如目前三层结构的运行模式广泛使用,

深入理解CPU的分支预测(Branch Prediction)模型

说明: 本文以stackoverflow上Why is it faster to process a sorted array than an unsorted array?为原型,翻译了问题和高票回答并加入了大量补充说明,方便读者理解. 背景 先来看段c++代码,我们用256的模数随机填充一个固定大小的大数组,然后对数组的一半元素求和: #include <algorithm>  #include <ctime>  #include <iostream>    int

从Java视角理解CPU上下文切换(Context Switch)

从Java视角理解系统结构连载, 关注我的微博(链接)了解最新动态在高性能编程时,经常接触到多线程. 起初我们的理解是, 多个线程并行地执行总比单个线程要快, 就像多个人一起干活总比一个人干要快. 然而实际情况是, 多线程之间需要竞争IO设备, 或者竞争锁资源,导致往往执行速度还不如单个线程. 在这里有一个经常提及的概念就是: 上下文切换(Context Switch). 上下文切换的精确定义可以参考: http://www.linfo.org/context_switch.html. 下面做个

压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate

CPU Utilization 好理解,就是CPU的利用率,75%以上就比较高了(也有说法是80%或者更高).除了这个指标外,还要结合Load Average和Context Switch Rate来看,有可能CPU高是因为后两个指标高导致的.   Load Average ,这个很难衡量.网上搜了一圈,还没见到几个合理的解释.我100个并发用户测试数来这两个值是:77.534%,6.108,CPU利用率比较高,Load Average也好像有点高.后来发现了如下两片博文: 理解Load Ave

《LoadRunner性能测试巧匠训练营》——1.3 性能术语与指标详解

1.3 性能术语与指标详解 小白理解了性能测试后就开始了性能测试基本概念的学习,首要任务就是深入理解重要的术语和指标,因为对这些术语和指标的理解是否深入.透彻,将直接影响后续的学习效果. 1.并发数 在理解并发数之前,先提出3个常见的概念,分别是系统用户数.在线用户数和并发用户数.小白发现很多人都会把这3个概念混淆,其实是不一样的.以BestTest的论坛作为例子,对应的解释分别如下. 系统用户数:简单地说就是该系统的注册用户数.例如,BestTest论坛里存在6666个注册用户,他们可以是活跃

Load高,CPU idle很高,这情况太诡异了

Load很高,CPU使用率很低的诡异情况 第一次碰到这种Case:物理机的Load很高,CPU使用率很低 先看CPU.Load情况 如图一: vmstat显示很有多任务等待排队执行(r)top都能看到Load很高,但是CPU idle 95%以上 这个现象不太合乎常规,也许是在等磁盘IO.也许在等网络返回会导致CPU利用率很低而Load很高 贴个vmstat 说明文档(图片来源于网络N年了,找不到出处) 检查磁盘状态,很正常(vmstat 第二列也一直为0) 再看Load是在5号下午15:50突

性能测试需求指标分析方法

六.设计测试模型 1.业务模型的设计 一个系统的业务模型是通过业务调研获得,业务模型的正确性反映在两个方面首先业务选择的正确性和业务比例的正确性. 首先业务选择,一个系统可能支持几百个业务活动(也有叫做交易)但是只有少数的业务活动非常频繁,占总业务量的80%以上,那么在性能测试时只需关心这些占了大部分业务量的少量业务上. 其次业务比例,如何精确统计业务的数量是关键问题,针对一个全新的系统可能要通过对使用系统的涉众进行调研,搞清楚他们群体数量,操作行为周期.在通过组合这些数据确定在常规业务日中各种