2.0. Experiment guide

Topics / Benchmarks / Options

NoTopicBenchmarksOptionsResult
1WAL/Manifest–disable_wal
–wal_bytes_per_sync
fillseq/randomPPT
2Memtable–write_buffer_size
–max_file_size
fillseq/random
readrandom
PPT
3Compaction–base_background_compactions
–compaction_style
fillseq/random
readseq/random
seekrandom
PPT
4SSTable–write_buffer_size
–max_file_size
–block_size
fillseq/random
readseq/random
seekrandom
PPT
5Bloom Filter–bloom_bitsreadhot/random
seekrandom
PPT
6Cache–cache_size
–block_size
readhot/random
seekrandom
PPT

5 Steps of Experiment

  1. Hypothesis

    • What changes will be happen internally, if option changes?
    • How will internal changes affect the metrics?
    • What result and graph do you expect?
  2. Design

    • Do the simplest and smallest experiment that can test your hypothesis.
    • Do not experiment with multiple independent variables at once from the beginning.
    • Do not let uncontrolled variables ruin your experiment.
    • Variables
      • Independent
        • Options, Benchmarks, # of KV pairs
      • Dependent
        • Metrics (Throughput, Latency, WAF/SAF/RAF)
      • Controlled
        • Enviornment, Page Cache, Compile Options, Existing DB, Compression Ratio, Bloom Filter Bits
  3. Run Experiment

    • Please use shell/python script.
      • echo, redirection, pyplot, …
    • Do not change experiment enviornment.
  4. Result and Discussion

    • Draw graphs and figures that explain experiments.
    • Verify your idea and hypothesis with result.
    • Explain why your hypothesis is correct or not.
  5. Presentation

    • Present your experiments in 10 minutes.
    • Write a document that explains your experiment.
      • git-book