Revision 72942ad7a40d23ef9b6edf6cf1f53628e37c56b4 authored by LingBin on 04 May 2018, 23:37:39 UTC, committed by Facebook Github Bot on 04 May 2018, 23:45:15 UTC
Summary:
The origin commit #3635  will hurt performance for users who aren't using range deletions, because unneeded std::set operations, so it was reverted by commit 44653c7b7aabe821e671946e732dda7ae6b43d1b. (see #3672)

To fix this, move the set to  and add a check in , i.e., file will be added only if  is non-nullptr.

The db_bench command which find the performance regression:
> ./db_bench --benchmarks=fillrandom,seekrandomwhilewriting --threads=1 --num=1000000 --reads=150000 --key_size=66 > --value_size=1262 --statistics=0 --compression_ratio=0.5 --histogram=1 --seek_nexts=1 --stats_per_interval=1 > --stats_interval_seconds=600 --max_background_flushes=4 --num_multi_db=1 --max_background_compactions=16 --seed=1522388277 > -write_buffer_size=1048576 --level0_file_num_compaction_trigger=10000 --compression_type=none

Before and after the modification, I re-run this command on the machine, the results of are as follows:

  **fillrandom**
 Table | P50 | P75 | P99 | P99.9 | P99.99 |
  ---- | --- | --- | --- | ----- | ------ |
 before commit | 5.92 | 8.57 | 19.63 | 980.97 | 12196.00 |
 after commit  | 5.91 | 8.55 | 19.34 | 965.56 | 13513.56 |

 **seekrandomwhilewriting**
  Table | P50 | P75 | P99 | P99.9 | P99.99 |
   ---- | --- | --- | --- | ----- | ------ |
 before commit | 1418.62 | 1867.01 | 3823.28 | 4980.99 | 9240.00 |
 after commit  | 1450.54 | 1880.61 | 3962.87 | 5429.60 | 7542.86 |
Closes https://github.com/facebook/rocksdb/pull/3800

Differential Revision: D7874245

Pulled By: ajkr

fbshipit-source-id: 2e8bec781b3f7399246babd66395c88619534a17
1 parent 4c5a323
History
File Mode Size
win
README -rw-r--r-- 405 bytes
dirent.h -rw-r--r-- 1.1 KB
likely.h -rw-r--r-- 750 bytes
port.h -rw-r--r-- 834 bytes
port_example.h -rw-r--r-- 3.6 KB
port_posix.cc -rw-r--r-- 5.5 KB
port_posix.h -rw-r--r-- 5.7 KB
stack_trace.cc -rw-r--r-- 3.5 KB
stack_trace.h -rw-r--r-- 648 bytes
sys_time.h -rw-r--r-- 1.2 KB
util_logger.h -rw-r--r-- 942 bytes
xpress.h -rw-r--r-- 687 bytes

README

back to top