Open efouquet opened 6 years ago
It would be pretty trivial to add basic support for this, so you could do (eg):
thinktime=1-100
and it would randomly pick something within that range. For it to be really useful, might want to mix in something like rate_process=poisson to get more realistic workloads. Or like we have different models available for random_distribution. If we augmented the thinktime=1-100 with thinktime_generator and allowed for random (what it would have been originally, randomly generating a value within the range), zipf, and pareto, it might be more useful.
Since this is basically all just code-reuse from other places in fio that already has this functionality, it should be pretty trivial to add.
@axboe Thanks so much.
Do you agree that doing this for both parameters, thinktime and thinktime_blocks would be useful and trivial to implement?
I do already use rate_process=poisson as my default, as I'm typically trying to create believable/realistic inbound workload patterns.
When modeling real world workloads, it would be very handy to be able to specify a range for thinktime and thinktime_blocks, in order to randomize both the time between between ops as well as the number of ops to issue before honoring the next randomly derived thinktime. This would allow one to do a better job of modeling real work bursty workloads.