如何测试服务器性能
How to test server performance
我如何准确地测试服务器性能API?
让我们这样说 API:https://test.com/new_task
。这是一个 POST 请求,需要 body
中的某些数据。现在我如何测试它并知道服务器的最大容量(同时请求的数量)?
我尝试在 Postman UI 中搜索,但我没有找到任何用于此目的的选项。是否有专门为此开发的软件或应用程序?
Postman 无法并行发送请求,对于指定的迭代次数,您最多可以按顺序实现 running your request/collection。
你可以考虑切换到即SoapUI which has some load testing capabilities(虽然相当有限)
最好的选择是将您的 Postman 请求(或 collection)转换为负载测试工具测试计划,例如 Apache JMeter 非常强大。
为了将您的 Postman 请求(或 collection)转换为 JMeter 测试计划:
-
启动 JMeter 的 HTTP(S) Test Script Recorder
如果您的请求使用HTTPS protocol - import JMeter's self-signed certificate into Postman
-
运行 您在 Postman 中的请求(或 collection)
JMeter 将捕获请求并创建相关的 HTTP 请求采样器和 HTTP Header 管理器
完成后,您可以在线程组中increase the number of threads(虚拟用户)并运行您的请求并行。
更多信息:How to Convert Your Postman API Tests to JMeter for Scaling
API 负载测试的一个简单解决方案 是使用 SoapUI(如果您有许可证,则使用 ReadyAPI):
- 根据自己的需要制作测试用例(简单复杂均可)
- 创建负载测试(单击)
- 设置并行线程数以及何时完成负载测试(及时或测试运行)。
- 执行测试并查看统计数据。
在 SoapUI 5.6 中,我可以使用数百个线程。如果您需要更多(500+、数千或更多)您的计算机性能可能是极限。在那种情况下,JMeter 可能是一个不错的选择。
是我的选择。
但是,我要补充一点,“最大容量”并非完全黑白分明,您可能想要查看服务器上的资源利用率,以及您在 JMeter 测试中看到的响应时间。
具体来说,“服务器速度慢,但有响应”、“服务器速度慢得令人无法接受,但有响应”和“服务器没有响应”之间是有区别的。响应时间的分布也不均匀。
我建议就可接受的响应时间(例如 1 秒)达成一致,并使用 JMeter 的“第 90 个百分位数”测量来查看您在何种负载级别违反了该响应时间。这就是您的服务器实际上达到最大容量的时间点,即使它仍在响应。
我如何准确地测试服务器性能API?
让我们这样说 API:https://test.com/new_task
。这是一个 POST 请求,需要 body
中的某些数据。现在我如何测试它并知道服务器的最大容量(同时请求的数量)?
我尝试在 Postman UI 中搜索,但我没有找到任何用于此目的的选项。是否有专门为此开发的软件或应用程序?
Postman 无法并行发送请求,对于指定的迭代次数,您最多可以按顺序实现 running your request/collection。
你可以考虑切换到即SoapUI which has some load testing capabilities(虽然相当有限)
最好的选择是将您的 Postman 请求(或 collection)转换为负载测试工具测试计划,例如 Apache JMeter 非常强大。
为了将您的 Postman 请求(或 collection)转换为 JMeter 测试计划:
启动 JMeter 的 HTTP(S) Test Script Recorder
如果您的请求使用HTTPS protocol - import JMeter's self-signed certificate into Postman
运行 您在 Postman 中的请求(或 collection)
JMeter 将捕获请求并创建相关的 HTTP 请求采样器和 HTTP Header 管理器
完成后,您可以在线程组中increase the number of threads(虚拟用户)并运行您的请求并行。
更多信息:How to Convert Your Postman API Tests to JMeter for Scaling
API 负载测试的一个简单解决方案 是使用 SoapUI(如果您有许可证,则使用 ReadyAPI):
- 根据自己的需要制作测试用例(简单复杂均可)
- 创建负载测试(单击)
- 设置并行线程数以及何时完成负载测试(及时或测试运行)。
- 执行测试并查看统计数据。
在 SoapUI 5.6 中,我可以使用数百个线程。如果您需要更多(500+、数千或更多)您的计算机性能可能是极限。在那种情况下,JMeter 可能是一个不错的选择。
但是,我要补充一点,“最大容量”并非完全黑白分明,您可能想要查看服务器上的资源利用率,以及您在 JMeter 测试中看到的响应时间。
具体来说,“服务器速度慢,但有响应”、“服务器速度慢得令人无法接受,但有响应”和“服务器没有响应”之间是有区别的。响应时间的分布也不均匀。
我建议就可接受的响应时间(例如 1 秒)达成一致,并使用 JMeter 的“第 90 个百分位数”测量来查看您在何种负载级别违反了该响应时间。这就是您的服务器实际上达到最大容量的时间点,即使它仍在响应。