使用10k用户进行API负载测试,我选择了jmeter

时间:2017-08-07 10:30:37

标签: jmeter jmeter-plugins

我要求测试api有10k用户。我选择的是:

  1. 的JMeter
  2. Linux服务器安装Jmeter并向10k用户投掷负载
  3. 现在有一个节点
  4. 将使用以下操作执行API:

    • 登录
    • 使用帖子参数预订酒店
    • 更新预订详情
    • 保存预订

    我正在考虑使用上面的10k用户进行API测试,上面的工具已经足够了,或者我应该寻找其他选项,如loadimpact,loader或blazemeter?

2 个答案:

答案 0 :(得分:1)

整个答案是精心设计的取决于

您可以做的最好的事情是在生成负载的服务器上以及运行被测系统的服务器上运行 PerfMon 代理。

通过这种方式,您应该看到(在CPU利用率和可用内存统计信息中)您是否已经最大化了提供API的服务器可以执行的操作,或者您的负载生成器是否正在耗尽。在第一种情况下,您根据运行的硬件和配置获得了一些readline。在第二个中,您可以指示使用多个框来生成负载或调查设置和选项。

详细了解 PerfMon JMeter plugin 以获取具体细节。

答案 1 :(得分:1)

如果您在谈论API,您应该考虑“每秒请求数”而不是“用户”,因为我强烈怀疑最终用户是通过curlPostman向API端点发送请求。

无论您的目标是“用户”还是“每秒请求数”,只有您谁可以回答,因为它取决于许多参数,例如:

  • 您的机器硬件规格
  • 软件规范(OS / JVM / JMeter版本和体系结构)
  • 测试的性质(请求/响应大小,pre / post processorsassertions等)

所以你应该采取以下行动:

  1. 确保您关注JMeter Best Practices
  2. 确保监控运行JMeter(CPU,RAM,交换,网络,磁盘)的节点的基准运行状况指标,您可以使用JMeter PerfMon Plugin
  3. 以最小负载(1个虚拟用户或每秒1个请求)开始,并增加负载,直到您的计算机开始交换或任何其他健康指标超过(例如)最大可用容量的80%。一旦发生,请查看活动线程(Active Threads Over Time侦听器)或吞吐量(Transactions Per Second) - 这是特定此测试在特定此主机上可以生成的最大用户数或点击数。如果它足够了 - 你很高兴,如果没有 - 你将不得不切换到Distributed testing
  4. 有关详细信息,请参阅What’s the Max Number of Users You Can Test on JMeter?文章。