软件性能测试基础说明
1、定义
性能测试是用一定的技术工具,找出或验证性能指标值的测试
-
工具:jmeter、loadrunner、python+locust、wrk、nginder
-
找出:项目刚开始做性能测试的阶段(性能基线)
-
验证:在后续迭代过程中进行的性能测试
2、目的
-
输出性能指标值
-
输出服务器的稳定性(如:高并发时(秒杀活动),服务器的稳定性)
3、前提
必要性研究(关键项评估)
-
主管部门、监管部门审查
-
涉及生命财产安全
-
大型新系统
-
核心系统
-
架构调整
-
业务剧增
-
重大缺陷修复
可测性
-
可以量化为性能指标值
4、基本原则
先单接口,再多接口
然后再多接口构成的业务
然后,多业务混合
然后,再系统
最后,全链路压测
5、必备条件
独立服务器
-
高并发过程中,可能会将服务器压崩溃。
独立网络
-
不可使用wifi,必须使用有线网络
-
绝对不能使用vpn、堡垒机、跳板机
6、性能主要指标
并发
-
狭义:同一时间做相同的事情
-
广义:同一时间做不同的事情
-
并发数:单位时间内向服务器发起请求的用户数 virtual user
-
并发用户数:用于模拟真实用户向服务器发起请求的性能测试用户数量
-
系统用户数
-
在线用户数
-
响应时间
-
从发起请求到收到请求响应的时间(网络传输时间+服务器处理时间)
吞吐量(事务/s)
-
指在一次性能测试过程中网络上传输的数据量总和,也可以说在单次业务中,客户端与服务器端进行的数据交互总量。
-
吞吐量指标反映服务器承受的压力,容量规划的测试中,吞吐量是重点关注的指标,它能够说明系统级别的负载能力
- 衡量网络的重要指标
吞吐率(Kb/s)
-
吞吐量/传输时间,即单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量,它是衡量网络性能的重要指标。
TPS
-
服务器每秒处理的事务数
-
服务器最主要的性能指标值
-
Transaction Per Second
-
资源利用率
-
CPU、内存、磁盘、i/o
7、负载测试
逐步加压,查看服务器的最大的性能指标值 最大的三种情况
-
1、服务器请求未发生错误处理之前
-
2、服务器接收到请求后,发生了崩溃
-
3、客户端请求后,服务器只处理了部分请求,其余请求未处理
持续时间
8、压力测试
比较大的压力 + 比较长的时间*24
瞬间大压力
压力时间