compute read amp for tiered compaction
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
This commit is contained in:
@@ -138,7 +138,7 @@ fn main() {
|
||||
level0_file_num_compaction_trigger,
|
||||
max_levels,
|
||||
} => {
|
||||
let mut controller =
|
||||
let controller =
|
||||
SimpleLeveledCompactionController::new(SimpleLeveledCompactionOptions {
|
||||
size_ratio_percent,
|
||||
level0_file_num_compaction_trigger,
|
||||
@@ -294,6 +294,16 @@ fn main() {
|
||||
storage.total_flushes,
|
||||
max_space as f64 / storage.total_flushes as f64
|
||||
);
|
||||
println!(
|
||||
"Read Amplification: {}x",
|
||||
storage.snapshot.l0_sstables.len()
|
||||
+ storage
|
||||
.snapshot
|
||||
.levels
|
||||
.iter()
|
||||
.filter(|(_, f)| !f.is_empty())
|
||||
.count()
|
||||
);
|
||||
println!();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ impl SimpleLeveledCompactionController {
|
||||
}
|
||||
|
||||
pub fn generate_compaction_task(
|
||||
&mut self,
|
||||
&self,
|
||||
snapshot: &LsmStorageInner,
|
||||
) -> Option<SimpleLeveledCompactionTask> {
|
||||
let mut level_sizes = Vec::new();
|
||||
|
||||
@@ -119,6 +119,9 @@ impl TieredCompactionController {
|
||||
levels.push((output[0], output.to_vec()));
|
||||
}
|
||||
}
|
||||
if !tier_to_remove.is_empty() {
|
||||
unreachable!("some tiers not found??");
|
||||
}
|
||||
snapshot.levels = levels;
|
||||
(snapshot, files_to_remove)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user