API 对 10k 用户进行负载测试,我选择 jmeter
API load testing with 10k users and I am choosing jmeter
我有 10k 用户测试 api 的要求。我选择的是:
- Jmeter
- Linux 服务器安装 Jmeter 并向 10k 用户抛出负载
- 现在一个节点
将执行 API 操作,例如:
- 登录
- 使用 post 参数预订酒店
- 更新预订详情
- 保存预订
我正在考虑使用上面的 API 对 10k 用户进行测试,上面的工具就足够了,或者我应该寻找其他选项,如 loadimpact、loader 或 blazemeter?
整个答案是详尽的它取决于。
您可以做的最好的事情是 运行 PerfMon 代理在服务器上生成负载以及在服务器上 运行ning 系统正在测试中。
这样您应该可以看到(在 CPU 利用率和空闲内存统计信息中)您是否已经达到提供 API 的服务器所能做的最大程度,或者它是否是您的负载生成器 运行 精疲力尽。在第一种情况下,您会根据 运行 的硬件和配置获得一些 readline。在第二个中,您有指示使用 1 个以上的盒子来生成负载或调查设置和选项。
请仔细查看 PerfMon JMeter plugin 了解详细信息。
如果您在谈论 API,您应该考虑 "requests per second" 而不是 "users",因为我强烈怀疑最终用户会向 API 端点发送请求通过 curl or Postman。
无论您的目标是 "users" 还是 "requests per second",只有您 可以回答,因为它取决于许多参数,例如:
- 您的机器硬件规格
- 软件规格(OS/JVM/JMeter 版本和体系结构)
- 测试的性质(request/response 大小、pre/post processors, assertions 的数量等)
所以你应该如下操作:
- 确保您关注 JMeter Best Practices
- 确保监控 运行 JMeter(CPU、RAM、Swap、网络、磁盘)节点的基线健康指标,您可以为此使用 JMeter PerfMon Plugin。
- 从最小负载开始(1 个虚拟用户或每秒 1 个请求)并增加负载,直到您的机器开始交换或任何其他健康指标超过最大可用容量的 80%。一旦发生,请查看活动线程(Active Threads Over Time listener) or throughput (Transactions Per Second) - this is the maximum number of users or hits per second you can produce on particular this host for particular this test. If it is enough - you're good to go, if not - you will have to switch to Distributed testing
有关详细信息,请参阅 What’s the Max Number of Users You Can Test on JMeter? 文章。
我有 10k 用户测试 api 的要求。我选择的是:
- Jmeter
- Linux 服务器安装 Jmeter 并向 10k 用户抛出负载
- 现在一个节点
将执行 API 操作,例如:
- 登录
- 使用 post 参数预订酒店
- 更新预订详情
- 保存预订
我正在考虑使用上面的 API 对 10k 用户进行测试,上面的工具就足够了,或者我应该寻找其他选项,如 loadimpact、loader 或 blazemeter?
整个答案是详尽的它取决于。
您可以做的最好的事情是 运行 PerfMon 代理在服务器上生成负载以及在服务器上 运行ning 系统正在测试中。
这样您应该可以看到(在 CPU 利用率和空闲内存统计信息中)您是否已经达到提供 API 的服务器所能做的最大程度,或者它是否是您的负载生成器 运行 精疲力尽。在第一种情况下,您会根据 运行 的硬件和配置获得一些 readline。在第二个中,您有指示使用 1 个以上的盒子来生成负载或调查设置和选项。
请仔细查看 PerfMon JMeter plugin 了解详细信息。
如果您在谈论 API,您应该考虑 "requests per second" 而不是 "users",因为我强烈怀疑最终用户会向 API 端点发送请求通过 curl or Postman。
无论您的目标是 "users" 还是 "requests per second",只有您 可以回答,因为它取决于许多参数,例如:
- 您的机器硬件规格
- 软件规格(OS/JVM/JMeter 版本和体系结构)
- 测试的性质(request/response 大小、pre/post processors, assertions 的数量等)
所以你应该如下操作:
- 确保您关注 JMeter Best Practices
- 确保监控 运行 JMeter(CPU、RAM、Swap、网络、磁盘)节点的基线健康指标,您可以为此使用 JMeter PerfMon Plugin。
- 从最小负载开始(1 个虚拟用户或每秒 1 个请求)并增加负载,直到您的机器开始交换或任何其他健康指标超过最大可用容量的 80%。一旦发生,请查看活动线程(Active Threads Over Time listener) or throughput (Transactions Per Second) - this is the maximum number of users or hits per second you can produce on particular this host for particular this test. If it is enough - you're good to go, if not - you will have to switch to Distributed testing
有关详细信息,请参阅 What’s the Max Number of Users You Can Test on JMeter? 文章。