LocustIO: min_wait and max_wait not being applied

感情迁移 提交于 2019-12-13 03:47:01

问题


I am playing around LocustIO. I have a single self.client.get() task with my min_wait and max_wait were set to be 1 millisecond each.

class App_User(HttpLocust):  
    ... 
    min_wait = 1  
    max_wait = 1  

I was using logging to see the response. I am expecting in console that timestamps of the task logs will be within the same second given a max_wait of 1 millisecond but it seems that the task runs every 1 second still.

Is it wrong to expect a 1000 GET responses within a 1 second load test period given 1 millisecond task wait; 1 simulated user as well?


回答1:


1ms is the wait time between 2 requests. So it's likely that your server takes 1s to respond. If you want to have more requests per seconds, you should add more "App_User".

Also, your test machine may not be able to shoot requests at that high rate, my poor PC can only do less than 70. At this stage, you need a locust swarm.

Finally, one important thing to notice is that Locust is not designed to have a fixed RPS, its goal is to simulate user behavior.




回答2:


Is it wrong to expect a 1000 GET responses within a 1 second load test period given 1 millisecond task wait; 1 simulated user as well?

Those values only apply to the time between a full task.

For example, if your GET request takes 5 seconds, for each Locust you will see something like:

  • 0.000s -- request 1 started
  • 5.000s -- request 1 completed, wait for 1 ms
  • 5.001s -- request 2 started
  • 10.001 -- request 2 completed, wait for 1 ms
  • 10.002 -- request 3 started

etc.

This is because the wait time only happens between requests. It is not saying "run ever 1 ms" but rather "wait 1 ms between every task after they complete."



来源:https://stackoverflow.com/questions/53737188/locustio-min-wait-and-max-wait-not-being-applied

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!