mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-29 09:36:17 +00:00
Add db_bench with lots of column families to regression tests
Summary: That way we can see when this graph goes up and be happy. Couple of changes: 1. title 2. fix db_bench to delete column families before deleting the DB. this was asserting when compiled in debug mode 3. don't sync manifest when disableDataSync. We discussed this offline. I can move it to separate diff if you'd like Test Plan: ran it Reviewers: sdong, yhchiang, ljin Reviewed By: ljin Subscribers: leveldb Differential Revision: https://reviews.facebook.net/D22815
This commit is contained in:
parent
c9e419ccb6
commit
8de151bb99
|
@ -1,6 +1,6 @@
|
||||||
# Rocksdb Change Log
|
# Rocksdb Change Log
|
||||||
|
|
||||||
### Unreleased
|
## Unreleased
|
||||||
|
|
||||||
----- Past Releases -----
|
----- Past Releases -----
|
||||||
|
|
||||||
|
|
|
@ -344,6 +344,38 @@ common_in_mem_args="--db=/dev/shm/rocksdb \
|
||||||
--threads=32 \
|
--threads=32 \
|
||||||
--writes_per_second=81920 > ${STAT_FILE}.seekwhilewriting_in_ram
|
--writes_per_second=81920 > ${STAT_FILE}.seekwhilewriting_in_ram
|
||||||
|
|
||||||
|
# measure fillseq with bunch of column families
|
||||||
|
./db_bench \
|
||||||
|
--benchmarks=fillseq \
|
||||||
|
--num_column_families=500 \
|
||||||
|
--write_buffer_size=1048576 \
|
||||||
|
--db=$DATA_DIR \
|
||||||
|
--use_existing_db=0 \
|
||||||
|
--num=$NUM \
|
||||||
|
--writes=$NUM \
|
||||||
|
--open_files=55000 \
|
||||||
|
--statistics=1 \
|
||||||
|
--histogram=1 \
|
||||||
|
--disable_data_sync=1 \
|
||||||
|
--disable_wal=1 \
|
||||||
|
--sync=0 > ${STAT_FILE}.fillseq_lots_column_families
|
||||||
|
|
||||||
|
# measure overwrite performance with bunch of column families
|
||||||
|
./db_bench \
|
||||||
|
--benchmarks=overwrite \
|
||||||
|
--num_column_families=500 \
|
||||||
|
--write_buffer_size=1048576 \
|
||||||
|
--db=$DATA_DIR \
|
||||||
|
--use_existing_db=1 \
|
||||||
|
--num=$NUM \
|
||||||
|
--writes=$((NUM / 10)) \
|
||||||
|
--open_files=55000 \
|
||||||
|
--statistics=1 \
|
||||||
|
--histogram=1 \
|
||||||
|
--disable_data_sync=1 \
|
||||||
|
--disable_wal=1 \
|
||||||
|
--sync=0 \
|
||||||
|
--threads=8 > ${STAT_FILE}.overwrite_lots_column_families
|
||||||
|
|
||||||
# send data to ods
|
# send data to ods
|
||||||
function send_to_ods {
|
function send_to_ods {
|
||||||
|
@ -392,3 +424,5 @@ send_benchmark_to_ods readrandom memtablereadrandom $STAT_FILE.memtablefillreadr
|
||||||
send_benchmark_to_ods readwhilewriting readwhilewriting $STAT_FILE.readwhilewriting
|
send_benchmark_to_ods readwhilewriting readwhilewriting $STAT_FILE.readwhilewriting
|
||||||
send_benchmark_to_ods readwhilewriting readwhilewriting_in_ram ${STAT_FILE}.readwhilewriting_in_ram
|
send_benchmark_to_ods readwhilewriting readwhilewriting_in_ram ${STAT_FILE}.readwhilewriting_in_ram
|
||||||
send_benchmark_to_ods seekrandomwhilewriting seekwhilewriting_in_ram ${STAT_FILE}.seekwhilewriting_in_ram
|
send_benchmark_to_ods seekrandomwhilewriting seekwhilewriting_in_ram ${STAT_FILE}.seekwhilewriting_in_ram
|
||||||
|
send_benchmark_to_ods fillseq fillseq_lots_column_families ${STAT_FILE}.fillseq_lots_column_families
|
||||||
|
send_benchmark_to_ods overwrite overwrite_lots_column_families ${STAT_FILE}.overwrite_lots_column_families
|
||||||
|
|
|
@ -1110,6 +1110,8 @@ class Benchmark {
|
||||||
}
|
}
|
||||||
|
|
||||||
~Benchmark() {
|
~Benchmark() {
|
||||||
|
std::for_each(db_.cfh.begin(), db_.cfh.end(),
|
||||||
|
[](ColumnFamilyHandle* cfh) { delete cfh; });
|
||||||
delete db_.db;
|
delete db_.db;
|
||||||
delete prefix_extractor_;
|
delete prefix_extractor_;
|
||||||
}
|
}
|
||||||
|
@ -1334,6 +1336,8 @@ class Benchmark {
|
||||||
method = nullptr;
|
method = nullptr;
|
||||||
} else {
|
} else {
|
||||||
if (db_.db != nullptr) {
|
if (db_.db != nullptr) {
|
||||||
|
std::for_each(db_.cfh.begin(), db_.cfh.end(),
|
||||||
|
[](ColumnFamilyHandle* cfh) { delete cfh; });
|
||||||
delete db_.db;
|
delete db_.db;
|
||||||
db_.db = nullptr;
|
db_.db = nullptr;
|
||||||
db_.cfh.clear();
|
db_.cfh.clear();
|
||||||
|
|
Loading…
Reference in a new issue