1 指标

当前性能测试指标和标准尚未完全确立, 不同服务测试指标不同,相应的标准也不同,例如接入层服务和后端服务指标是不同的。

判断指标

不通过的标准

超时概率

大于万分之一

错误概率

大于万分之一

平均响应时间

超过100ms

0.99响应时间

超过200ms

qpm(每分钟处理的请求量)

小于2w

qpm波动范围(标准差)

正负3

cpu使用率

平均每核超过75%

负载(load)

平均每核超过1.5

jvm内存使用率

大于80%

gc平均时间

超过1s

fullgc频率

频率高于半小时一次

……

……

2 指标说明

2.1 负载(Load)

(1)什么是负载

负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。

来看下负载的定义是怎样的:

In UNIX computing, the system load is a measure of the amount of computational work that a computer system performs. The load average represents the average system load over a period of time. It conventionally appears in the form of three numbers which represent the system load during the last one-, five-, and fifteen-minute periods.(wikipedia)

简单解释一下:在UNIX系统中,系统负载是对当前CPU工作量的度量,被定义为特定时间间隔内运行队列中的平均线程数。load average 表示机器一段时间内的平均load。这个值越低越好。负载过高会导致机器无法处理其他请求及操作,甚至导致死机。

Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。

       /proc/loadavgThe  first  three fields in this file are load average figures giving the number of jobs in the run queue (stateR) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes.  They are the same as the load  averagenumbers  given  by  uptime(1) and other programs.  The fourth field consists of two numbers separated by a slash(/).  The first of these is the number of currently executing kernel scheduling entities  (processes,  threads);this  will  be  less  than  or  equal  to the number of CPUs.  The value after the slash is the number of kernelscheduling entities that currently exist on the system.  The fifth field is the PID of the process that was mostrecently created on the system.

这段话大意是说,loadavg文件中前三个字段是平均负载值,分别代表1、5和15分钟的作业(job)数量的平均值,作业(job)包括运行队列(state R)或者等待磁盘I/O(state D)两种类型。这里面有这么几层信息:
  1. /proc/loadavg中前三个数字分别表示load1、load5、load15的值。
  2. load值代表的是对应时间内的jobs的平均数量,比如load1就表示过去1分钟内的jobs数量的平均值。job主要是一个shell概念,和进程组概念近似,这里应该属于用词不当(后面会分析,准确的用词应该是内核中的tasks或用户空间中的threads概念)。
  3. 而且只包含state状态为R和D的两种jobs,其他state状态不包含在内。

(2)机器正常负载范围

对于机器的Load到底多少算正常的问题,一直都是很有争议的,不同人有着不同的理解。对于单个CPU,有人认为如果Load超过0.7就算是超出正常范围了。也有人认为只要不超过1都没问题。也有人认为,单个CPU的负载在2以下都可以接受。

为什么会有这么多不同的理解呢,是因为不同的机器除了CPU影响之外还有其他因素的影响,运行的程序、机器内存、甚至是机房温度等都有可能有区别。

比如,有些机器用于定时执行大量的跑批任务,这个时间段内,Load可能会飙的比较高。而其他时间可能会比较低。那么这段飙高时间我们要不要去排查问题呢?

我的建议是,最好根据自己机器的实际情况,建立一个指标的基线(如近一个月的平均值),只要日常的load在基线上下范围内不太大都可以接收,如果差距太多可能就要人为介入检查了。

但是,总要有个建议的阈值吧,关于这个值。阮一峰在自己的博客中有过以下建议:

当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。

当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。

当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。你不应该让系统达到这个值。

以上指标都是基于单CPU的,但是现在很多电脑都是多核的。所以,对一般的系统来说,是根据cpu数量去判断系统是否已经过载(Over Load)的。如果我们认为0.7算是单核机器负载的安全线的话,那么四核机器的负载最好保持在3(4*0.7 = 2.8)以下。

还有一点需要提一下,在Load Avg的指标中,有三个值,1分钟系统负荷、5分钟系统负荷,15分钟系统负荷。我们在排查问题的时候也是可以参考这三个值的。

一般情况下,1分钟系统负荷表示最近的暂时现象。15分钟系统负荷表示是持续现象,并非暂时问题。如果load15较高,而load1较低,可以认为情况有所好转。反之,情况可能在恶化。

参考:

https://www.cnblogs.com/LBSer/p/4605345.html

https://www.cnblogs.com/wuchanming/p/9294678.html

转载于:https://www.cnblogs.com/ratels/p/11009494.html

大数据测试指标(二)相关推荐

  1. 大数据测试指标(一)

    场景--表(数据)--语句(负载)--度量 场景 并发导入 95%读5%写 50%读50%写 读--更改--写 指标 吞吐量:单位时间内执行的操作数 参考文献: TPC标准 http://www.tp ...

  2. 大数据测试--转载自开源优测

    https://zhuanlan.zhihu.com/lym51 大数据测试中的功能和性能 什么是大数据 大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集. 对于大数据的测试则需要 ...

  3. 得物交易域数据仓库数据质量保障体系建设 |大数据测试

    一.背景介绍 目前得物数仓测试,划分成交易.增长.社区等多个模块,不同的数仓测试域,都会有一名测试人员负责跟进,根据每个版本每个域资源实际投入情况,组内会适当的调整资源,以满足日常迭代需要:单交易域这 ...

  4. 怎么进行大数据测试?我们需要具备怎样的测试能力?

    前言:现在大数据这么火,那么作为测试人员,我们应该怎么进行大数据测试?需要具备怎样的测试能力? 一.大数据测试实现被分成三个步骤 (1):数据阶段验证 大数据测试的第一步,也称作pre-hadoop阶 ...

  5. 大数据测试基础知识点

    1.什么是大数据 大数据是一个大的数据集合,通过传统的计算技术无法进行处理.这些数据集的测试需要使用各种工具.技术和框架进行处理.大数据涉及数据创建.存储.检索.分析,而且它在数量.多样性.速度方法都 ...

  6. 大数据测试前需要了解性能测试点

    大数据测试前需要了解性能测试点 第二章 性能测试 文章目录 大数据测试前需要了解性能测试点 一.基准测试 二.狭义性能测试(Performance Testing) 三.负载测试(Load Testi ...

  7. 大数据测试类型,学习步骤

    1.什么是大数据 大数据是一个大的数据集合,通过传统的计算技术无法进行处理.这些数据集的测试需要使用各种工具.技术和框架进行处理.大数据涉及数据创建.存储.检索.分析,而且它在数量.多样性.速度方法都 ...

  8. 软件测试之大数据测试

    什么是大数据 大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集. 对于大数据的测试则需要不同的工具.技术.框架来进行处理. 大数据的体量大.多样化和高速处理所涉及的数据生成.存储. ...

  9. 软件测试工程师又一大挑战:大数据测试

    什么是大数据 大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集. 对于大数据的测试则需要不同的工具.技术.框架来进行处理. 大数据的体量大.多样化和高速处理所涉及的数据生成.存储. ...

最新文章

  1. watch netstat
  2. php时间戳与日期互转
  3. 2021春季每日一题【week3 未完结】
  4. poj 3748 位操作
  5. 度盘转存工具 v1.8
  6. 记住看小电影前一定要检查一下域名是不是 HTTPS 的,不然……
  7. linux网络分析之回环网卡
  8. HP大中华区总裁孙振耀退休感言
  9. 斐波那契 (黄金分割法)查找——推导 详细
  10. Dragdealer拖动组件
  11. cloc工具 命令行 统计代码行数
  12. 如何给刚刚出厂的服务器配置IP地址(华为RH2288 v3)
  13. 玉柴spn码故障对照表_玉柴电控柴油机故障代码及读码方法2
  14. idc具体是啥 idc服务器是什么意思?
  15. typora安装PicGo+配置腾讯云COS图床
  16. 中国哲学简史-冯友兰
  17. .NET(C#、VB)APP开发——Smobiler平台控件介绍:OCR组件
  18. 基于神经网络的蒙文手写字母识别的一些研究(综述)
  19. 专家:还早呢!有意识的人工智能兴起还需要几十年
  20. 我国风险投资体系的构建和相关政策研究

热门文章

  1. STM32(1)跑马灯
  2. 原生js之运动函数的封装
  3. CSS中的表格(一)
  4. 漏洞复现 a.WSO2 文件上传 (CVE-2022-29464)
  5. confluent-kafka-go依赖库编译体验优化
  6. CSS3颜色值RGBA与渐变色
  7. oracle ebs 单位类别 单位 单位转换,ORACLE_EBS_系统主数据管理(一).doc
  8. 亚马逊Amazon数据集
  9. authorize scope. userlocation需要在app.json中声明permission字段
  10. (三十)AO和GO剖析