性能测试之服务器常用的性能指标包括哪些方面?

发表于:2022-10-20 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:岚岚    来源:知乎

  压测过程中,我们除了需要关注客户端的pqs、并发量等指标外,还需要密切关注服务器资源相关的指标,例如:cpu使用率、内存使用率等,下面介绍服务器常用的性能指标。
  1、CPU使用率
  CPU使用率代表程序占用的CPU资源,CPU使用率 = 1 - CPU空闲时间/总CPU时间,在性能测试中,CPU使用率是个非常重要的指标,细分为如下指标:
  · 用户态(user):用户程序运行时间占比。当该值很高时,说明用户程序处理时间过长,需要优化代码
  · 系统态(sys):系统程序运行时间占比。当该值很高时,说明内核使用时间过长,需要排查系统是否存在频繁调度、线程进程是否频繁切换等
  · IO等待态(io wait):系统等待IO的时间占比。当该值很高时,说明程序等待IO(网络、磁盘)的时间过长,需要从程序异步,或网络方面排查
  · 空闲态(idle):空闲状态的时间占比
  整体CPU使用率可以使用 1 - idle(率)来计算。在平时的压力测试中,如果用户态 + 系统态 > 50% 就应该引起关注。
  2、系统平均负载
  系统平均负载是指在单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也可理解为平均活跃进程数。
  · 可运行状态进程:处于等待和正在运行的进程(注:处于等待的进程也算)
  · 不可中断状态进程:处于内核流程中的进程,不可被打断,例如:IO响应等
  系统平均负载,使用top,uptime等命令都会显示 load average 过去 1分钟、5分钟、15分钟的平均负载。
  · load average 1 分钟 > 5分钟 > 15分钟(例如:10.00 5.00 1.00),表明系统平均负载变大
  · load average 1 分钟 < 5分钟 < 15分钟(例如:1.00 5.00 10.00),表明系统平均负载变小
  · load average 1分钟 5分钟 15 分钟 三个数基本相同,系统负载处于平稳的状态
  如果判断系统平均负债是否过高?
  · 系统平均负载和cpu个数有关,例如:系统平均负载为2,当系统2个CPU时,CPU利用率为100%;当系统1个CPU时,说明有一个进程竞争不到CPU;当系统4个CPU时,则CPU利用率为50%
  · 可使用lscpu等命令查看cup个数,命令使用下个章节讲解
  · 一般来说当系统平均负载高于 70% 时,就需要关注CPU使用情况了,当平均负载过高时,系统进程响应变慢,影响正常服务
  系统平均负载和CPU使用率的异同
  · 相同点:系统平均负载和CPU使用率都可用于评估CPU的使用情况
  · 不同点:系统平均负载不仅包括正在使用CPU的进程,还包括等待CPU和等待IO的进程
  oCPU密集型:平均负载和CPU使用率一致(同高同低)。
  oIO密集型:平均负载高,但CPU使用率不一定高(可能在等待IO)。
  3、内存使用率
  内存相对于磁盘速度快,用于存储进程频繁使用的数据。内核在内存中划分出更高速的cached和buff区域,用于存放需要更频繁读完的文件数据和块设备信息等。
  内存使用往往关注如下指标:
  · 系统总内存:顾名思义,系统能使用的总内存的大小
  · 系统已使用内存:等于 系统总内存 - 空闲内存,注:系统已使用内存包含 cached和buff区域。
  · 系统内存使用率:系统已使用内存/系统总内存
  如何判断系统内存使用率过高?
  一般来说,系统内存使用率 大于 70%,就需要关注系统内存使用情况了,当内存使用过高,容易出现内存不足内存泄漏等问题。
  4、磁盘使用率
  磁盘使用率也是性能中的一个重要指标,可以使用iostat命令查看磁盘使用情况,具体命令使用在下一节,iostat命令输出中有个字段util%表示周期内IO非空闲比例。
  如何判断系统磁盘使用率过高?
  · iowait率(CPU等待IO)大于 50%,表明CPU有大量时间在等待IO
  · util率 大于 70%,表明磁盘使用过于频繁
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号