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
os/bluestore: trim cache every 50ms (instead of 200ms) #20498
Conversation
In small cache size situations trimming needs to be more frequent. See https://tracker.ceph.com/issues/22616 This isn't a complete solution: in very low memory situations an even lower value would be needed, or perhaps bluestore_default_buffered_read=false. Signed-off-by: Sage Weil <sage@redhat.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would love to see cache trimming triggered on event, not only on elapsed time since last swept.
I'm a bit nervous about the performance impact caused by this change... |
On one hand we should expect to trim 1/4 as many items 4x as often, so no net change. And it means the trimming spikes will be shorter, so the tail latency should improve. On the other hand, there may be some fix overhead of the trim process itself. (I'm not really sure what, though.) FWIW back in the beginning we were trimming on every request. I don't think we ever did a comparison with the sharded cache change, though. |
@liewegas i am adding backport=luminous to the corresponding ticket. please let me know if i am wrong. |
thanks! |
FYI: actually our local test results reveal a measurable 8k-random-read/write performance regression with this patch applied.. Was:
Now:
|
In small cache size situations trimming needs to be more frequent. See
https://tracker.ceph.com/issues/22616
This isn't a complete solution: in very low memory situations an even lower
value would be needed, or perhaps bluestore_default_buffered_read=false.
Signed-off-by: Sage Weil sage@redhat.com