当前位置: 欣欣网 > 码农

Apipost一键压测高性能PHP框架Webman

2024-05-25码农

概述

Apipost是一款集成了API文档、调试、Mock、测试等功能的一体化协作工具。它支持模拟POST、GET、PUT等常见HTTP请求,并且支持团队协作,可以直接生成并导出接口文档。简单来说,Apipost可以被视为Postman、Swagger和Mock的结合体,旨在提高研发团队各个角色的工作效率。

官网地址:https://www.apipost.cn

背景

在软件开发过程中,接口调试完成后,验证其在高并发情况下的性能表现是至关重要的一步。然而,这一环节往往需要研发团队与测试团队的紧密协作,频繁的沟通和协调可能会耗费不少时间和精力。幸运的是,Apipost平台推出的一键压测功能,为这一痛点提供了有效的解决方案。

实践

并发结果很容易外界因素影响,压测时需要尽量减少外界因素影响。影响压测结果外界因素有本机句柄数限制,dns解析速度,网络质量,服务端连接数限制等等。

例如使用 1w 并发, 很容易出现超过本机最大句柄数限制(一般最大限制1024), 超过句柄数限制的请求会因为句柄数受限导致连接失败。

因此选择合适并发数对测试接口性能非常重要,并非并发数越大越好。并发数建议先在 10 100 500 1000 左右分别测试下,如果失败率小于1%,再考虑逐步增加并发数量。只有增加并发每秒请求数量能持续增加才是健康使用方式.

使用方法

在接口列表中选择接口后,点击一键压测选项。配置并发数,选择压测模式根据压测模式输入持续时间或轮次,点击开始压测即可开始测试。

注:使用压测功能需要开启压测服务。

以上是开始压测日志选项,开启后压测结束会生成压测日志文件,压测日志会展示每轮测试情况。

结果分析

测试时会试试展示每秒请求数,结束后会生成测试报告,可以对压测结果进行分析。

压测结果计算方式

图片来源:apipost官方

下载压测日志结果

17:18:30 seq:6 work:0 code:200 cost:66.0 msg:ok
17:18:30 seq:9 work:3 code:200 cost:68.0 msg:ok
17:18:30 seq:2 work:5 code:200 cost:72.0 msg:ok
17:18:30 seq:5 work:1 code:200 cost:75.0 msg:ok
17:18:30 seq:7 work:2 code:200 cost:94.0 msg:ok
...
17:18:40 seq:818 work:3 code:200 cost:110.0 msg:ok
17:18:40 seq:819 work:4 code:200 cost:93.0 msg:ok
17:18:40 seq:816 work:5 code:200 cost:143.0 msg:ok

服务端

更多了解官方文档:https://wiki.apipost.cn/docs/最佳实践/接口压测实践