rocksdb/tools
Mark Callaghan 99ec2412e5 Make the benchmark scripts configurable and add tests
Summary:
This makes run_flash_bench.sh configurable. Previously it was hardwired for 1B keys and tests
ran for 12 hours each. That kept me from using it. This makes it configuable, adds more tests,
makes the duration per-test configurable and refactors the test scripts.

Adds the seekrandomwhilemerging test to db_bench which is the same as seekrandomwhilewriting except
the writer thread does Merge rather than Put.

Forces the stall-time column in compaction IO stats to use a fixed format (H:M:S) which makes
it easier to scrape and parse. Also adds an option to AppendHumanMicros to force a fixed format.
Sometimes automation and humans want different format.

Calls thread->stats.AddBytes(bytes); in db_bench for more tests to get the MB/sec summary
stats in the output at test end.

Adds the average ingest rate to compaction IO stats. Output now looks like:
https://gist.github.com/mdcallag/2bd64d18be1b93adc494

More information on the benchmark output is at https://gist.github.com/mdcallag/db43a58bd5ac624f01e1

For benchmark.sh changes default RocksDB configuration to reduce stalls:
* min_level_to_compress from 2 to 3
* hard_rate_limit from 2 to 3
* max_grandparent_overlap_factor and max_bytes_for_level_multiplier from 10 to 8
* L0 file count triggers from 4,8,12 to 4,12,20 for (start,stall,stop)

Task ID: #6596829

Blame Rev:

Test Plan:
run tools/run_flash_bench.sh

Revert Plan:

Database Impact:

Memcache Impact:

Other Notes:

EImportant:

- begin *PUBLIC* platform impact section -
Bugzilla: #
- end platform impact -

Reviewers: igor

Reviewed By: igor

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D36075
2015-03-30 11:28:25 -07:00
..
rdb first rdb commit 2014-11-20 23:33:00 -05:00
auto_sanity_test.sh Make auto_sanity_test always use the db_sanity_test.cc of the newer commit. 2015-03-27 11:32:49 -07:00
benchmark.sh Make the benchmark scripts configurable and add tests 2015-03-30 11:28:25 -07:00
db_crashtest2.py Remove seek compaction 2014-06-20 10:23:02 +02:00
db_crashtest.py db_stress for dynamic options 2014-10-27 12:11:16 -07:00
db_repl_stress.cc Make db_stress built for ROCKSDB_LITE 2014-11-14 10:20:51 -08:00
db_sanity_test.cc Make auto_sanity_test always use the db_sanity_test.cc of the newer commit. 2015-03-27 11:32:49 -07:00
db_stress.cc rocksdb: Fixed 'Dead assignment' and 'Dead initialization' scan-build warnings 2015-02-23 14:10:09 -08:00
dbench_monitor Added simple monitoring script to monitor overusage of memory in db_bench 2015-02-11 18:40:11 -08:00
ldb_test.py Added 'dump_live_files' command to ldb tool. 2014-12-12 17:50:36 -08:00
ldb.cc Make db_stress built for ROCKSDB_LITE 2014-11-14 10:20:51 -08:00
pflag Added simple monitoring script to monitor overusage of memory in db_bench 2015-02-11 18:40:11 -08:00
reduce_levels_test.cc rocksdb: switch to gtest 2015-03-17 14:08:00 -07:00
run_flash_bench.sh Make the benchmark scripts configurable and add tests 2015-03-30 11:28:25 -07:00
sst_dump.cc Make db_stress built for ROCKSDB_LITE 2014-11-14 10:20:51 -08:00