-
Notifications
You must be signed in to change notification settings - Fork 142
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
cosbench changes to support mode==read or mode==mix #83
Conversation
cosbench: support mix mod Addresses issues ceph#82 Signed-off-by: Tom Deneau <[email protected]>
Hi @tdeneau Maybe we could create one more template for the "mixed workload", and leave the default template for pure r/w workload? That might be more simpler. |
Yuan -- I agree that we should allow additional fields to the .yaml file which would I was hesitant to create a whole new template for mixed workloads mainly Actually the original template in master does not support a read workload My PR just explicitly added the necessary sub-dictionaries to the template object Also, I'm not sure the end user (.yaml file creator) needs to be aware -- Tom Deneau From: Yuan [mailto:[email protected]] Hi @tdeneau Maybe we could create one more template for the "mixed workload", and leave the default template for pure r/w workload? That might be more simpler. |
@markhpc , I tested the PR on my cbt env, the codes work well for me, :) |
On 02/18/2016 07:57 PM, Chendi.Xue wrote:
Sounds good to me. Should we merge this now and add the additional
|
@markhpc , yes, I think we can merge it, I ran a mix-read-write cosbench test, and it looks fine :) |
@xuechendi , other than a pure write test, what's an example of when prepare would not be required? |
@tdeneau , if all the obj has been inited and prepared, only need the 'main' workstage, examples like below:
|
So in the skip-prepare case the objects would have been left over from some previous benchmark run (and some state saved to indicate that)? I agree it would be good to skip the prepare part if we can. |
I am thinking use Swift interface to check if containers exist, to record some data under CBT also looks good to me, just I am not sure where is the right place to store data. From: tdeneau [mailto:[email protected]] So in the skip-prepare case the objects would have been left over from some previous benchmark run (and some state saved to indicate that)? I agree it would be good to skip the prepare part if we can. — |
cosbench: use prepare workstage if mode==read
cosbench: support mix mode
Addresses issues #82
Signed-off-by: Tom Deneau [email protected]
Note: The mixed mode support does not give the user much configurability.
If config.mode is set to mix, we simply treat the "ratio" field as the read ratio,
and add a work operation for write with write_ratio = 100-read_ratio.
Also both read and write cover identical ranges for objects and containers.