API性能测试 - 在JMeter中计算线程(用户)

时间:2018-03-13 18:03:25

标签: jmeter performance-testing load-testing jmeter-3.2 jmeter-4.0

我正在测试10个Web服务(REST),并且要求是每个服务加载测试每个服务每秒30个请求。所以我完全希望所有10项服务每秒有300个请求。所有这10项服务都由一个物理用户帐户访问(即只有一个物理用户ID和密码),我没有任何其他帐户。

满足上述要求30请求/秒/服务& 300个请求/秒/ 10个服务;测试持续时间为1小时:

  1. 我需要在JMeter中创建多少个线程(用户)?请给我计算公式?
  2. 需要添加多少个Load Generator?
  3. 我应该考虑的所有其他参数是什么?
  4. 我已经提到了以下网站,但没有任何avl用于webservices:

1 个答案:

答案 0 :(得分:-1)

  1. 根据How do I Correlate the Number of (Concurrent) Users with Hits Per Second文章:

      

    1个样本,1个线程,1秒延迟+(假设)2秒加载页面的响应时间= 3秒请求之间的总延迟=线程将每1分钟执行20次= 0.33 Hits / s

    正如您所看到的,每秒点击次数取决于两个因素:

    1. 线程数(虚拟用户)
    2. 申请的回应时间
    3. 例如,如果您的应用程序响应时间为1秒 - 这将足以使用30个用户,如果是2秒 - 您将需要60个用户等。

      A" good"练习是从1个线程(虚拟用户)开始,然后逐渐增加负载,直到达到所需的吞吐量(或者错误开始发生,无论第一个是什么)

      另一种方法是从预期的服务用户数开始,并准确模仿每个用户,以便工作量变得切合实际。

    4. 假设您每秒最多需要执行300个请求,我相信单个JMeter实例就足够了。请确保您已关注JMeter Best Practices

    5. 我想不出您可能需要的任何额外参数,如果您需要为Concurrency Thread GroupThroughput Shaping Timer组合每个服务实现每秒30个请求。您可以使用JMeter Plugins Manager
    6. 安装它们