I’m working with web sockets, my flow is establishing a connection, which is a pretty costly operation, and then sending thousands and thousands of messages, measuring how much time passes between the message and the response to it. As far as I know, there is no way to re-use state between function runs, so 1 iteration of my function is actually thousands of iterations of the “test”.
Also, do you want to always do 1 iteration regardless of whether it will error out at some point or not?
Yes, but I’d still like to use Ramping VUs, so fixed iterations with fixed VUs won’t work. For instance, I’d like to start with ~100 users generating messages and go up to 10k.
As a quick workaround (that will break iteration_duration and interrupted iterations) I would propose just adding a “big” sleep whenever you don’t want to make any more iterations with a given VU.
Yeah, I thought of the workarounds and came to the same conclusion. It would mean I’ll have a couple of “dead” VUs, but I think it’s fine considering that I don’t expect the number of errors to be very high.