考虑到文章篇幅过长,计划分两部分写完《利用Python Locust库基于Robot Framework实现接口性能测试》,包含设计策略、框架设计、核心源码的分享,本篇主要分享设计策略、框架设计及实际应用效果。核心源码部分将在第二部分中进行分享,文章链接如下:
由于公司内测试环境(Linux虚拟机)系统资源性能指标无法保证,使得业务性能受到影响,进而导致性能测试结果的可靠性较低,因此性能测试大多在实际生产环境上进行。
因此萌生一个想法——如何提高测试环境性能测试结果的可靠性并实现持续构建性能测试?
性能瓶颈的影响因素
性能瓶颈定位从维度上划分,性能指标主要分为两大类,分别是
业务性能指标
和
系统资源性能指标。
业务性能指标可以直观地反映被测系统的实际性能状况,常用的指标项有:
并发用户数
事务吞吐率(TPS/RPS)
事务平均响应时间
事务成功率
系统资源性能指标,主要是反映整个系统环境的硬件资源使用情况,常用的指标包括:
服务器:CPU利用率、处理器队列长度、内存利用率、磁盘IO状态、网卡带宽使用情况等。
数据库:数据库连接数、数据库读写响应时长、数据库读写吞吐量等。
网络:网络吞吐量、
网络带宽
、网络缓冲池大小。
缓存(Redis):静态资源缓存命中率、动态数据缓存命中率、缓存吞吐量等。
测试设备(压力发生器