目录:导读
前言
压测过程中,我们除了需要关注客户端的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)。
内存使用率
内存相对于磁盘速度快,用于存储进程频繁使用的数据。内核在内存中划分出更高速的cached和buff区域,用于存放需要更频繁读完的文件数据和块设备信息等。
内存使用往往关注如下指标:
系统总内存:顾名思义,系统能使用的总内存的大小;
系统已使用内存:等于 系统总内存 - 空闲内存,注:系统已使用内存包含 cached和buff区域。
系统内存使用率:系统已使用内存/系统总内存
如何判断系统内存使用率过高?
一般来说,系统内存使用率 大于 70%,就需要关注系统内存使用情况了,当内存使用过高,容易出现内存不足内存泄漏等问题。
磁盘使用率
磁盘使用率也是性能中的一个重要指标,可以使用iostat命令查看磁盘使用情况,具体命令使用在下一节,iostat命令输出中有个字段util%表示周期内IO非空闲比例。
如何判断系统磁盘使用率过高?
iowait率(CPU等待IO)大于 50%,表明CPU有大量时间在等待IO;
util率 大于 70%,表明磁盘使用过于频繁;
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有坚持不懈地努力,才能迎来成功的曙光。别怕失败,因为每一次的尝试都是一个宝贵的经验。即使路途再艰难,也要把握现在,坚定前行。只要你相信自己,没有什么是不可能的!
成功需要勇气,坚持不懈是胜利之母。莫言曾说“只有不断奋斗的人才能享受到努力后的喜悦”,所以让我们不断前行,勇往直前,最终实现我们的目标和梦想!
生命如一场马拉松,不要停下脚步。尽管前路艰险,但只有坚持不懈才能到达终点。每一次努力都会让你离成功更近一步,不要放弃自己的目标和梦想。相信自己,勇往直前,你一定能够迎来辉煌的明天!
来源地址:https://blog.csdn.net/weixin_48500307/article/details/131235749