前言:
性能测试一般的开展阶段:功能测试开始之前(接口:企业自研接口、第三方接口)、功能测试之后、或者上线之后考虑到之后可能会扩容的情况测试
小程序用的scoket接口也可以用jmeter测试(如果遇到接下来自己)
这次主要是针对HTTP类型接口进行性能测试
性能知识库扩展:
服务器的基本使用相关知识
网络相关知识
性能测试的工作流程:时间范围、
1、什么是软件性能?
软件性能测试:用一定的技术,找出或验证某个 性能的值(指标);和功能测试的目的完全不一样
自动化和功能的目的是找出BUG
性能测试看是否满足
负载测试:逐步加压 达到拐点 响应时间变长、服务器宕机等情况
压力测试:比较大的压力+比较长的时间*24
产品提供的需求文档给出的指标 给出的性能指标值给出的参考
主要过程就是:先做负载找拐点、再做性能确定指标值给出测试报告、最后做压力测试验证服务器的稳定性
用户视角
管理员视角
开发视角
2、性能测试的必备条件
1、网络需要直连 独立网络 (跳板机、代理、堡垒机、VPN、nginx等这些都会影响 千万不要用跨内网外网 )网络延迟的时间越少,越趋近于服务器的处理时间
2、并发/并发数/并发用户数
3、独立环境 功能测试不能和性能测试共用环境
并发
3、主要术语
响应时间、TPS、并发用户数,吞吐量,性能计数器,思考时间
响应时间=T1+T2+T3+T4 一般是对于单个请求的
T1客户端到web服务器;T2 web服务器到数据库服务器; T3数据库服务器到web服务器;T4web服务器到客户端
TPS:每秒通过的事务数 transaction事务数 1个事务数可以认为是一个请求 衡量服务器最主要的性能指标值
吞吐量/吞吐率 (事务/S kb/S)
在没有网络延迟的情况下 吞吐量=TPS
QPS: 查询率 quires 每秒查询率 在很多请求中的查询 实际QPS>TPS 有可能多个接口一个请求中
资源利用率
CPU 内存 磁盘 I/O(磁盘的换入换出 读写)
超过80%压力较大