如何对涉及多个 API 调用的服务器功能进行性能/负载测试?

问题描述 投票:0回答:1

我们在服务器上实现了一项功能,前端将向服务器进行 REST API 调用以使用此功能。

在该功能中,一个任务单元涉及多项内容 - 数据库操作、云文件上传、调用我们的其他微服务。 在服务器中,我们想出了两种不同的方法来执行上述一个任务单元。

方法 1:前端只需调用单个 REST 端点 1 次,然后在服务器内部由我们处理其余部分。

方法 2:前端将对服务器进行 3 个单独的(必须是连续的)API 调用,以执行不同的组件任务。 (在服务器端,每个调用都经过优化,我们期望这里有更好的吞吐量)

我想通过一些数字来表明方法 2 会更好 - 我想用一些流量访问服务器,生成性能、资源利用率统计数据并与我的经理分享。

在统计数据中,我主要寻找诸如平均响应时间、P50、P75、P99 请求响应时间、资源利用率(内存使用情况和网络统计数据)等信息

我尝试了Apache Bench,它符合我的要求,但是,我面临着 1 个问题:

  1. 无法使用 Apache Bench 测试方法 2,至少我找不到。方法 2 需要按顺序进行 3 个 API 调用,并且我想要一个工作单元的统计数据。

有什么方法可以使用 AB 或其他工具来测试我的方法以获得上述统计数据吗? 由于时间限制,我并不是在寻找深入的性能测试工具,我想要更简单的东西。谢谢!

performance testing server performance-testing apachebench
1个回答
0
投票

查看Apache JMeter,它就像添加 3 个HTTP Request 采样器一样简单,也许是一个 HTTP 标头管理器 来发送相关标头,例如 Content-Type 就这样了。

此外,JMeter 具有更好的报告,如果您逐渐增加负载,您将能够将增加的负载与其他指标(例如响应时间、吞吐量、错误数量等)相关联。

如果需要,请参阅REST API 测试:如何正确进行文章了解更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.