export TEST_TMPDIR=/mnt NUM=1600000000 VSIZE=96 # some engines appear to ignore the cache_size and just grab as much RAM as they want CACHE=17179869184 # some engines honor the cache_size, give them more. CACHE2=17179869184 # 1/2 of the base cache size. tokudb always dies at full size. CACHE3=8589934592 WRATE=0 STATS=200000 DUR=1200 THR="1 2 4 8 16 32 64" TIME="numactl -i all /usr/bin/time -f Usr\tSys\t%%\tWall\tRSS\tMajor\tMinor\tVolun\tInvol\tIn\tOut\n%U\t%S\t%P\t%E\t%M\t%F\t%R\t%w\t%c\t%I\t%O" ENGINES="" ENGINES="$ENGINES LevelDB" LevelDB_cmd="./db_bench" LevelDB_arg="--cache_size=$CACHE --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10" ENGINES="$ENGINES Basho" Basho_cmd="./db_bench_basho" Basho_arg="--cache_size=$CACHE2 --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10" ENGINES="$ENGINES BDB" BDB_cmd="./db_bench_bdb" BDB_arg="--cache_size=$CACHE2" ENGINES="$ENGINES Hyper" Hyper_cmd="./db_bench_hyper" Hyper_arg="--cache_size=$CACHE --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10" ENGINES="$ENGINES LMDB" LMDB_cmd="./db_bench_mdb" LMDB_arg="--readahead=0" ENGINES="$ENGINES RocksDB" RocksDB_cmd="./db_bench_rocksdb" RocksDB_arg="--cache_size=$CACHE --write_buffer_size=268435456" ENGINES="$ENGINES RocksDB2" RocksDB2_cmd="./db_bench.rocks" RocksDB2_arg="--disable_seek_compaction=1 --mmap_read=0 --statistics=0 --key_size=16 --block_size=4096 --cache_size=$CACHE --bloom_bits=10 --cache_numshardbits=6 --open_files=500000 --compression_type=none --compression_ratio=1 --write_buffer_size=134217728 --target_file_size_base=67108864 --max_write_buffer_number=3 --max_background_compactions=20 --level0_file_num_compaction_trigger=4 --level0_slowdown_writes_trigger=8 --level0_stop_writes_trigger=12 --num_levels=6 --delete_obsolete_files_period_micros=300000000 --min_level_to_compress=2 --max_grandparent_overlap_factor=10 --stats_per_interval=0 --max_bytes_for_level_base=536870912" ENGINES="$ENGINES TokuDB" TokuDB_cmd="./db_bench_tokudb" TokuDB_arg="--cache_size=$CACHE3" ENGINES="$ENGINES WiredLSM" WiredLSM_cmd="./db_bench_wiredtiger" WiredLSM_arg="--cache_size=$CACHE" ENGINES="$ENGINES WiredBtree" WiredBtree_cmd="./db_bench_wiredtiger --use_lsm=0" WiredBtree_arg="--cache_size=$CACHE" for ENG in $ENGINES; do rm -rf $TEST_TMPDIR/* CMD="\$${ENG}_cmd" CMD=`eval echo $CMD` ARG="\$${ENG}_arg" ARG=`eval echo $ARG` echo "ENGINE=$ENG" date +%Y/%m/%d-%H:%M:%S $TIME $CMD --benchmarks=fillseqbatch --stats_interval=$STATS --num=$NUM --value_size=$VSIZE $ARG date +%Y/%m/%d-%H:%M:%S for THREADS in $THR; do echo THREADS=$THREADS $TIME $CMD --benchmarks=readwhilewriting --threads=$THREADS --stats_interval=$STATS --num=$NUM --value_size=$VSIZE --use_existing_db=1 --writes_per_second=$WRATE --duration=$DUR $ARG date +%Y/%m/%d-%H:%M:%S du $TEST_TMPDIR done done exit