Python LocustIO:未应用最小等待和最大等待

Python LocustIO:未应用最小等待和最大等待,python,load-testing,locust,Python,Load Testing,Locust,我在和洛卡斯蒂奥玩。我有一个单独的self.client.get()任务,我的min\u wait和max\u wait分别设置为1毫秒 class App_User(HttpLocust): ... min_wait = 1 max_wait = 1 我正在使用日志记录查看响应。我希望在控制台中,如果max_wait为1毫秒,任务日志的时间戳将在同一秒内,但任务似乎仍然每1秒运行一次 在给定1毫秒任务等待的1秒负载测试周期内,期望1000GET响应是否错

我在和洛卡斯蒂奥玩。我有一个单独的
self.client.get()
任务,我的
min\u wait
max\u wait
分别设置为1毫秒

class App_User(HttpLocust):  
    ... 
    min_wait = 1  
    max_wait = 1  
我正在使用
日志记录
查看响应。我希望在控制台中,如果
max_wait
为1毫秒,任务日志的时间戳将在同一秒内,但任务似乎仍然每1秒运行一次

在给定1毫秒任务等待的1秒负载测试周期内,期望1000<代码>GET响应是否错误;1个模拟用户

在给定1毫秒任务等待的情况下,期望在1秒负载测试周期内获得1000个GET响应是否错误;1个模拟用户

这些值仅适用于完整任务之间的时间间隔

例如,如果GET请求需要5秒钟,那么对于每只蝗虫,您将看到如下内容:

  • 0.000s--请求1已启动
  • 5.000秒--请求1已完成,等待1毫秒
  • 5.001s——请求2已启动
  • 10.001——请求2已完成,等待1毫秒
  • 10.002——请求3已启动
等等

这是因为等待时间只发生在两个请求之间。它不是说“每次运行1毫秒”,而是说“在每个任务完成后,在每个任务之间等待1毫秒。”

在给定1毫秒任务等待的情况下,期望在1秒负载测试周期内获得1000个GET响应是否错误;1个模拟用户

这些值仅适用于完整任务之间的时间间隔

例如,如果GET请求需要5秒钟,那么对于每只蝗虫,您将看到如下内容:

  • 0.000s--请求1已启动
  • 5.000秒--请求1已完成,等待1毫秒
  • 5.001s——请求2已启动
  • 10.001——请求2已完成,等待1毫秒
  • 10.002——请求3已启动
等等


这是因为等待时间只发生在两个请求之间。它不是说“每次运行1毫秒”,而是说“在每个任务完成后等待1毫秒。”

1ms是两个请求之间的等待时间。因此,您的服务器很可能需要1s才能响应。如果你想每秒有更多的请求,你应该添加更多的“App\u User”

此外,您的测试机可能无法以如此高的速率发送请求,我可怜的PC只能执行不到70次。在这个阶段,你需要蝗虫群


最后,需要注意的一件重要事情是,蝗虫的设计并不是为了有一个固定的RPS,它的目标是模拟用户行为。

1ms是两个请求之间的等待时间。因此,您的服务器很可能需要1s才能响应。如果你想每秒有更多的请求,你应该添加更多的“App\u User”

此外,您的测试机可能无法以如此高的速率发送请求,我可怜的PC只能执行不到70次。在这个阶段,你需要蝗虫群


最后,需要注意的一件重要事情是,Occast的设计并不是为了有一个固定的RPS,它的目标是模拟用户行为。

您确定在asker的测试场景中,服务器需要1秒来响应请求吗?蝗虫真让我困惑,所以我贴了一个这样的问题,看看这个。在我的测试中,您可以从avrage响应时间的统计数据中发现我的服务器响应非常快。但TPS仍然比我预期的低很多。单个实例的最大rps对我来说是~600,在这一点上,它的上限是单个核心的100%。因此,您可以使用swarm机制在一台机器上运行多个蝗虫。您确定在asker的测试场景中,服务器需要1秒来响应请求吗?蝗虫真让我困惑,所以我贴了一个这样的问题,看看这个。在我的测试中,您可以从avrage响应时间的统计数据中发现我的服务器响应非常快。但TPS仍然比我预期的低很多。单个实例的最大rps对我来说是~600,在这一点上,它的上限是单个核心的100%。所以你可以用swarm机制在一台机器上运行多个蝗虫。