export TEST_TMPDIR=/test NUM=100000000 # some engines appear to ignore the cache_size and just grab as much RAM as they want CACHE=34359738368 # some engines honor the cache_size, give them more. CACHE2=137438953472 WRATE=0 STATS=1048576 DUR=600 TIME="numactl --interleave=all /usr/bin/time -v" rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_basho --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_basho --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_bdb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_bdb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_hyper --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_hyper --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_mdb --stats_interval=$STATS --num=$NUM --benchmarks=fillseqbatch --writemap=1 for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_mdb --stats_interval=$STATS --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --writemap=1 --duration=$DUR du $TEST_TMPDIR done kill %1 rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_rocksdb --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_rocksdb --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 $TIME ./db_bench.rocks --num_levels=6 --key_size=16 --prefix_size=16 --keys_per_prefix=0 --block_size=4096 --cache_size=$CACHE --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=134217728 --max_bytes_for_level_base=1073741824 --sync=0 --disable_data_sync=1 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_grandparent_overlap_factor=10 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=1048576 --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --perf_level=0 --benchmarks=fillbatch --use_existing_db=0 --num=$NUM --threads=1 du $TEST_TMPDIR for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench.rocks --num_levels=6 --key_size=16 --prefix_size=16 --keys_per_prefix=0 --block_size=4096 --cache_size=$CACHE --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=134217728 --max_bytes_for_level_base=1073741824 --sync=0 --disable_data_sync=1 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_grandparent_overlap_factor=10 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=$STATS --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --perf_level=0 --duration=$DUR --benchmarks=readwhilewriting --use_existing_db=1 --num=$NUM --threads=$THREADS --writes_per_second=$WRATE --duration=$DUR du $TEST_TMPDIR done kill %1 rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_tokudb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_tokudb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 echo "Running wiredtiger twice, once as LSM, once as Btree" rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 echo "Running wiredtiger Btree" rm -rf $TEST_TMPDIR/* atop -P CPU,DSK,MEM,PRC 5 & $TIME ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --use_lsm=0 --benchmarks=fillseqbatch for THREADS in 1 2 4 8 16 32 64; do echo THREADS=$THREADS $TIME ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --use_lsm=0 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR du $TEST_TMPDIR done kill %1 exit