【性能测试】服务器常用的性能指标总结,一文概全...

前言

压测过程中,我们除了需要关注客户端的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%,表明磁盘使用过于频繁

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值