Skip to content
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

Support for non-deterministic distribution of operations #251

Closed
cdahlqvist opened this Issue Mar 10, 2017 · 2 comments

Comments

Projects
None yet
2 participants
@cdahlqvist
Copy link
Contributor

cdahlqvist commented Mar 10, 2017

There are use cases where it would be desirable to vary the request rate over time, e.g. when replaying user sessions and/or varying load to simulate daily patterns in long running benchmarks. It would be great to have support for this in Rally as it would add a lot of flexibility.

I have spent the last few days thinking about ways to do this, and one reasonably simple way could be to allow a custom parameter source to return the duration until it expects to run the next request and have Rally use this to override the fixed interval used when in rate limiting mode.

It is a simple way to give control to the parameter source, which allows scripting this, but maybe not the ultimate solution.

@cdahlqvist cdahlqvist changed the title Support for non-uniform distribution off operations Support for non-uniform distribution of operations Mar 10, 2017

@danielmitterdorfer

This comment has been minimized.

Copy link
Member

danielmitterdorfer commented Mar 10, 2017

As you describe, the current request throttling strategy is based on a deterministic distribution. It is implemented in driver.py.

I was also thinking about allowing other distributions (like Poisson processes) at some point and I think we should keep request throttling based on any statistical distributions within Rally but let users choose via track.json which distribution to use.

However, you mention simulating more complex traffic patterns and this might even warrant introducing a new concept in addition to parameter sources and runners.

@cdahlqvist

This comment has been minimized.

Copy link
Contributor Author

cdahlqvist commented Mar 10, 2017

When simulating traffic based e.g. on data from a file, it would be convenient to control this from the parameter source. I however don't see why allowing this would preclude us from also offer another method that might e.g. be more suited to altering patterns around large bulk requests.

@danielmitterdorfer danielmitterdorfer self-assigned this Mar 31, 2017

@danielmitterdorfer danielmitterdorfer added this to the 0.5.3 milestone Mar 31, 2017

@danielmitterdorfer danielmitterdorfer changed the title Support for non-uniform distribution of operations Support for non-deterministic distribution of operations Apr 4, 2017

@danielmitterdorfer danielmitterdorfer removed their assignment Sep 20, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.