storage: add benchmark for scanning MVCC garbage#85716
storage: add benchmark for scanning MVCC garbage#85716craig[bot] merged 1 commit intocockroachdb:masterfrom
Conversation
e70f6ec to
d79d231
Compare
|
@jbowens I expect #85576 will improve this significantly? See profile below for the I realized that if we can improve the scan performance here by a couple of orders of magnitude then MVCC range tombstones may provide a solution to outbox-style workloads. We currently struggle with these because of the amount of garbage we have to scan across. |
d79d231 to
254b4e9
Compare
jbowens
left a comment
There was a problem hiding this comment.
Yeah, it should help by ~two orders of magnitude. I'll try to get that in soon, but it might take a minute to figure out why the mvcc metamorphic tests are failing.
Reviewable status:
complete! 0 of 0 LGTMs obtained (waiting on @erikgrinaker)
jbowens
left a comment
There was a problem hiding this comment.
Reviewable status:
complete! 1 of 0 LGTMs obtained (waiting on @erikgrinaker)
|
TFTR! bors r=jbowens |
nicktrav
left a comment
There was a problem hiding this comment.
Reviewed 2 of 2 files at r1, all commit messages.
Reviewable status:complete! 2 of 0 LGTMs obtained (waiting on @erikgrinaker)
|
bors r- Merge conflict with #85708. |
|
Canceled. |
This patch adds `BenchmarkMVCCScanGarbage`, which benchmarks MVCC scans across garbage. It builds a dataset similarly to `BenchmarkMVCCScan`, but writes point tombstones instead of values, and any MVCC range tombstones are written above the point keys rather than below them. ``` name time/op MVCCScanGarbage_Pebble/rows=50000/versions=1/numRangeKeys=0-24 8.37ms ± 0% MVCCScanGarbage_Pebble/rows=50000/versions=1/numRangeKeys=1-24 4.03ms ± 1% MVCCScanGarbage_Pebble/rows=50000/versions=1/numRangeKeys=100-24 60.4ms ± 7% MVCCScanGarbage_Pebble/rows=50000/versions=10/numRangeKeys=0-24 45.5ms ± 3% MVCCScanGarbage_Pebble/rows=50000/versions=10/numRangeKeys=1-24 22.9ms ± 0% MVCCScanGarbage_Pebble/rows=50000/versions=10/numRangeKeys=100-24 109ms ±13% ``` Release note: None
254b4e9 to
cf05775
Compare
|
bors r=jbowens,nicktrav |
|
Build succeeded: |

This patch adds
BenchmarkMVCCScanGarbage, which benchmarks MVCC scansacross garbage. It builds a dataset similarly to
BenchmarkMVCCScan,but writes point tombstones instead of values, and any MVCC range
tombstones are written above the point keys rather than below them.
Resolves #84383.
Release note: None