测试环境搭建流程_性能测试流程、指标及常见问题

ee4aa118d23994247bf7f00fad9c59b9.png

1.介绍性能测试流程

a.性能需求分析(评审)
基于接口或者场景(全链路)的性能测试指标,一般是tps(每秒事务数,这里都是通过的事务)及art(平均响应时间)
b.了解系统架构,申请性能测试环境
用到的web服务器、应用服务器、缓存数据库服务器、数据库服务器、文件服务器等
c.执行性能测试方案
d.搭建测试环境,准备测试数据
数据库的存量数据+增量数据,比如一个查询接口,都是并发100用户,对应的表数据量是1万和100万,压测结果是不一样的,这个数据量根据生产环境获取
e.主流程稳定后,调试被测接口、开发压测脚本(也可以在功能测试环境进行)
参数化、关联、事务、检查点、思考时间等,造参数化测试数据
f.预压测
少量并发(比如一个用户),看压测环境功能是否跑通
g.执行压测并监控服务器资源情况
看测试指标是否满足需求,从请求开始,一步一步排查请求流经的节点,包括服务器资源(CPU、内存、磁盘IO、网络)是否存在性能瓶颈、各种连接等是否存在性能瓶颈
h.分析定位
基于上一步的监控数据,对瓶颈进行分析、定位
i.性能调优
j.性能回归
k.编写性能报告

2.性能测试结果中,我们常关注的指标

1、响应时间(RT):指多长时间响应客户请求

2、吞吐量(TPS):每秒完成的事务数,可以是一个业务流程,也可以是一个表单的提交

3、事务成功率

4、硬件指标:CPU、内存、存储、网络

5、稳定性

6、内存有无泄露

7、其他(数据库、中间件、缓存、JVM)

3.列举性能测试常见问题

我们关注的指标tps和art(平均响应时间),如果tps低,或者响应时间长,或者服务器资源紧张,那就需要我们去定位性能问题了,常见的性能问题主要包含:

a.服务器问题

   cpu     内存     磁盘io 磁盘容量

b.网络带宽:看当前收发占用的带宽及有没有丢包

c.load高:看线程信息;看是否fgc

d.队列问题:磁盘io队列、线程队列

e.各种连接池问题:不足或者没释放

f.死锁问题:数据库死锁、线程死锁

g.慢sql问题

h.缓存设置问题

关于磁盘io,我们主要关注以下几个指标:

%iowait:I/O等待所占CPU时间百分比,iowait较大说明IO负载大,IO等待比较严重,磁盘读写遇到瓶颈;

r/s:每秒完成的读 I/O 设备次数;

w/s:每秒完成的写 I/O 设备次数;

rkB/s:每秒读K字节数;

wkB/s:每秒写K字节数;

avgqu-sz:平均I/O队列长度,向设备发出的请求平均数量;如果这个数值大于1,可能是硬件设备已经饱和;

await:平均每次设备I/O操作的时间 (毫秒);

svctm:平均每次设备I/O操作的服务时间 (毫秒);

%util:磁盘设备利用率,一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O队列是非空的,接近100%说明设备能力趋于饱和

磁盘IO繁忙的问题描述:

问题描述:

压测过程中,tps上不去,监控各个服务器cpu、内存、磁盘、网络等等,最终发现是数据库服务器磁盘IO繁忙(命令:iostat -x -k 1),sdb已饱和到达瓶颈点了。如下图(只截了一小部分图):

a208d7699a8f34d67b3496089fd81ca6.png

分析总结

结合上图及关注指标可知,sdb已经达到饱和(sdb表示第二块磁盘),IO不到20,说明其IO能力很差(r/s,w/s),还不到100就满了,连普通台式机7200转硬盘都赶不上,普通的单个硬盘都100左右,可以按这个公式来计算:1000/(30000/rpm +5),如果是7200RPM,1000ms/9.17ms=109IOPS,1秒钟可以109次IO。

另外,读写效率低,传输率肯定上不去,所以每秒传输的数据量也很小(rkB/s,wkB/s) 。经和运维确认得知:磁盘没有限制,因为是虚拟化,且底层的资源已经用满了,导致只能到这么多。

增加资源后复测,磁盘IO趋于正常,tps上升,最终达到测试目标。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值