-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optional HTTP Request failure step down #344
Comments
I am -1 on this feature. |
@cgoldberg it's not always about capacity of the API being tested, and even if you hit something that looks like capacity, you might want other requests to be able to complete. For instance, suppose the API is using an external auth service; if the locust test hits a 401/403 due to issues with the auth serviec and then starts hammering the API harder it may cause other tests that did not get the 401/403 to fail. it's already known that the 401/403 caused a failure, but why should it make the other tests fail too? Or for instance, if the server reaches a disk capacity issue due to the type of service being implemented it may be useful to delay enough to allow one test to finish before starting another. That's why I requested being able to optionally allow the locust workers to respond differently based on the responses received with default behavior being the current behavior. Sometimes tests need to be able to respond differently. |
I know closed, but one reason to retry is that is what would happen in the real world! |
Provide a configuration setting for HTTP requests to be able to scale back in response to specified error codes.
Use Case: I'm performance testing an API using locustio. However, when it reaches the limits it starts generating 504 errors and some 400 and 404 errors. The problem is that since the request fails quickly, the server gets hammered harder at this point.
It would be good if I could specify in the configuration something like:
Several points:
I've looked at the code and I'm not sure where this would get applied. The request is being made in
client.request()
but it would seem best to be applying this to wherever that function returns, which is not clear to me at the moment.The text was updated successfully, but these errors were encountered: