跳到主要内容

性能测试

提示

8.1.4版本起,Apipost支持在自动化测试中进行【性能测试】,帮助开发者和测试人员高效地评估和优化API(应用程序接口)的性能。
注意该功能仅限客户端体验

image.png

功能介绍

压测模式

目前压测支持两种模式:固定模式、爬坡模式 image.png

固定模式:设置一个固定的并发数,在压测期间始终以这个固定数值进行发压,发压示意图如下

image.png

爬坡模式:会有初始并发、初始并发的持续时间、爬坡区间(初始并发到最大并发的区间)、爬坡时长、最大并发、最大并发持续时间,可以从一个小的并发开始然后逐渐升至最大并发,发压示意图如下

image.png

压测中

在编排好测试用例(查看如何编排测试用例)以及配置好压测条件后,点击【执行】或【保存并执行】即可以进行性能测试 注意:点击【保存并执行】生成的报告才会进行存储,仅【执行】不会存储生成的测试报告

image.png

压测过程中我们可以实时查看压测的各项指标,例如请求数、失败请求数、响应时间、平均响应时间等,压测的失败详情则是在压测结束后才会提供

image.png

压测过程中不支持关闭抽屉弹窗,强行关闭则代表不继续进行压测

image.png

压测报告解读

结果概览和接口压测详情

image.png

image.png | 指 标 | 含义 | | --- | --- | | 总请求数 | 压测期间累计发送的总请求数。单位(次) | | 失败数 |压测期间累计发送的失败请求数,失败请求的统计包含两类情况:
1)HTTP状态码非2xx;
2)断言失败。满足其一,则为失败。
若同时满足,错误原因将归类到【HTTP状态码非2XX】。| | 失败率 | 失败数/总请求数 * 100% | | 平均响应时间 | 压测期间请求的响应时间均值。| | 最小响应时间 |压测期间请求的最小响应时间 | | 最大响应时间 |压测期间请求的最大响应时间 | | TPS |整个压测执行期间所有执行的接口总数 / (整个压测里面的接口最后一次请求的时间 - 整个计划里面接口第一次的请求时间)。单位 (次/秒) | | 平均接收流量 |压测期间请求的接收流量均值。| | 每秒请求数 | 整个压测执行期间所有执行的接口总数 / 压测时长。单位 (次/秒) | | 90%(ms) |把所有响应时间的数值从小到大排序,取前 90% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 90 个数据做统计。 表示90%请求将在这个时间内完成。 | | 95%(ms) | 把所有响应时间的数值从小到大排序,取前 95% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 95个数据做统计。表示95%请求将在这个时间内完成。 | | 99%(ms) | 把所有响应时间的数值从小到大排序,取前 99% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 99 个数据做统计。表示99%请求将在这个时间内完成。 |

性能趋势图

实时的数据趋势图,反应的是压测期间指标的动态变化趋势

image.png

Top5失败原因

在压测期间失败原因汇总,发生次数最多的5个原因

image.png

失败趋势图

压测期间每个失败原因发生次数的趋势图

image.png

失败详情

支持查看每个失败原因都是由哪些请求导致的,点击接口可以查看具体的接口请求和返回明细

image.png

image.png