-
Notifications
You must be signed in to change notification settings - Fork 482
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
perf: investigate reenabling flush/compaction pacing #687
Comments
Here is a 10m run with pacing enabled:
And a 10m run with pacing disabled:
|
Ah, pacing causes problems with a workload composed of reads and writes. Here is
I have a strong suspicion the problem is that pacing increases read amplification. I added a bit of instrumentation to |
This makes me more convinced that any pacing that does not take into account whether we have an actual CPU or IO resource bottleneck is probably making unnecessary tradeoffs (related to #1329). In this example:
|
Is this still worthwhile as an issue separate from #1329? |
@jbowens I would say yes - it makes sense as a sub-issue of that. This one is more general about testing the implications of enabling pacing on its own, while that one is about potentially using pacing in IO-constrained situations (assuming it is beneficial in prioritizing user-writes or other compactions). I can see #1329 wrapping up without much in the way of using pacing, in which case this could stand as a remaining bit of exploration/work. |
Compaction and flush pacing have been disabled for several years. Remove the code to avoid maintaining dead code. If/when we attempt to re-enable pacing, we can revert this commit. Informs cockroachdb#687.
Compaction and flush pacing have been disabled for several years. Remove the code to avoid maintaining dead code. If or when we attempt to re-enable pacing, we can revert this commit. Informs cockroachdb#687.
Compaction and flush pacing have been disabled for several years. Remove the code to avoid maintaining dead code. If or when we attempt to re-enable pacing, we can revert this commit. Informs cockroachdb#687.
Compaction and flush pacing have been disabled for several years. Remove the code to avoid maintaining dead code. If or when we attempt to re-enable pacing, we can revert this commit. Informs #687.
We have marked this issue as stale because it has been inactive for |
Flush/compaction pacing was disabled in #431 because it had an apparent effect on throughput. Some recent experiments with
pebble bench ycsb
show a throughput benefit to pacing (old is with pacing disabled, new is with pacing enabled).Interestingly, compaction pacing was very quickly disabled in these tests because compactions were not keeping up. The above tests were for only 1m in duration. Longer runs need to be performed. Also need to look at scenarios involving reads and writes.
A lot has changed since mid-December when #431 was merged, so perhaps the true culprit was not pacing. Or perhaps we've fixed other bottlenecks so that pacing is no longer a problem.
Jira issue: PEBBLE-175
The text was updated successfully, but these errors were encountered: