1. 26 10月, 2016 1 次提交
    • K
      Makefile: generate util/build_version.cc from .in file (#1384) · 60a2bbba
      Kefu Chai 提交于
      * util/build_verion.cc.in: add this file, so cmake and make can share the
        template file for generating util/build_version.cc.
      * CMakeLists.txt: also, cmake v2.8.11 does not support file(GENERATE ...),
        so we are using configure_file() for creating build_version.cc.
      * Makefile: use util/build_verion.cc.in for creating build_version.cc.
      Signed-off-by: NKefu Chai <tchaikov@gmail.com>
      60a2bbba
  2. 22 10月, 2016 1 次提交
    • A
      Passing DISABLE_JEMALLOC=1 to valgrind_check if run locally · 0e926b84
      Anirban Rahut 提交于
      Summary:
      Valgrind does not work well with JEMALLOC. If you run
      a simple make valgrind_check, you will see lots of issues and
      crashes. When precommit runs, this is taken care of. Here we
      make sure valgrind_check is passed in DISABLE_JEMALLOC=1
      
      Test Plan: Ran local valgrind_test and noticed the difference
      
      Reviewers: IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D65379
      0e926b84
  3. 04 10月, 2016 1 次提交
  4. 24 9月, 2016 1 次提交
    • Y
      Recover same sequence id from WAL (#1350) · 4bc8c88e
      yiwu-arbug 提交于
      Summary:
      Revert the behavior where we don't read sequence id from WAL, but increase it as we replay the log. We still keep the behave for 2PC for now but will fix later.
      
      This change fixes github issue 1339, where some writes come with WAL disabled and we may recover records with wrong sequence id.
      
      Test Plan: Added unit test.
      
      Subscribers: andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D64275
      4bc8c88e
  5. 17 9月, 2016 1 次提交
    • Y
      Fix java makefile dependencies · 41a9070f
      Yi Wu 提交于
      Summary: Fix dependencies in java makefile, to avoid java build failure.
      
      Test Plan: run "make rocksdbjava" multiple times.
      
      Reviewers: IslamAbdelRahman, sdong, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D64023
      41a9070f
  6. 08 9月, 2016 1 次提交
  7. 29 8月, 2016 1 次提交
  8. 26 8月, 2016 1 次提交
    • I
      Fix parallel valgrind (valgrind_check) · 4b3438d2
      Islam AbdelRahman 提交于
      Summary:
      I just realized that when we run parallel valgrind we actually don't run the parallel tests under valgrind (we run the normally)
      This patch make sure that we run both parallel and non-parallel tests with valgrind
      
      Test Plan: DISABLE_JEMALLOC=1 make valgrind_check -j64
      
      Reviewers: andrewkr, yiwu, lightmark, sdong
      
      Reviewed By: sdong
      
      Subscribers: andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D62469
      4b3438d2
  9. 20 8月, 2016 1 次提交
    • Y
      LRU cache mid-point insertion · 72f8cc70
      Yi Wu 提交于
      Summary:
      Add mid-point insertion functionality to LRU cache. Caller of `Cache::Insert()` can set an additional parameter to make a cache entry have higher priority. The LRU cache will reserve at most `capacity * high_pri_pool_pct` bytes for high-pri cache entries. If `high_pri_pool_pct` is zero, the cache degenerates to normal LRU cache.
      
      Context: If we are to put index and filter blocks into RocksDB block cache, index/filter block can be swap out too early. We want to add an option to RocksDB to reserve some capacity in block cache just for index/filter blocks, to mitigate the issue.
      
      In later diffs I'll update block based table reader to use the interface to cache index/filter blocks at high priority, and expose the option to `DBOptions` and make it dynamic changeable.
      
      Test Plan: unit test.
      
      Reviewers: IslamAbdelRahman, sdong, lightmark
      
      Reviewed By: lightmark
      
      Subscribers: andrewkr, dhruba, march, leveldb
      
      Differential Revision: https://reviews.facebook.net/D61977
      72f8cc70
  10. 11 8月, 2016 4 次提交
    • K
      Persistent Read Cache (8) Benchmark tooling · 87c91bd8
      krad 提交于
      Summary:
      Adding benchmark tool for persistent read cache.
      
      TODO: Add integration to db_bench
      
      Test Plan: Compile
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D57711
      87c91bd8
    • S
      [Proof-Of-Concept] RocksDB Blob Storage with a blob log file. · 8b79422b
      sdong 提交于
      Summary:
      This is a proof of concept of a RocksDB blob log file. The actual value of the Put() is appended to a blob log using normal data block format, and the handle of the block is written as the value of the key in RocksDB.
      
      The prototype only supports Put() and Get(). It doesn't support DB restart, garbage collection, Write() call, iterator, snapshots, etc.
      
      Test Plan: Add unit tests.
      
      Reviewers: arahut
      
      Reviewed By: arahut
      
      Subscribers: kradhakrishnan, leveldb, andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D61485
      8b79422b
    • S
      read_options.background_purge_on_iterator_cleanup to cover forward iterator... · 56dd0341
      sdong 提交于
      read_options.background_purge_on_iterator_cleanup to cover forward iterator and log file closing too.
      
      Summary: With read_options.background_purge_on_iterator_cleanup=true, File deletion and closing can still happen in forward iterator, or WAL file closing. Cover those cases too.
      
      Test Plan: I am adding unit tests.
      
      Reviewers: andrewkr, IslamAbdelRahman, yiwu
      
      Reviewed By: yiwu
      
      Subscribers: leveldb, andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D61503
      56dd0341
    • A
      Remove non-gtest from parallelized tests · 1b0069ce
      Andrew Kryczka 提交于
      Summary:
      compact_on_deletion_collector_test does not support --gtest_list_tests
      since it isn't gtest, so the full program would run for the target
      gen_parallel_tests. This caused gen_parallel_tests to take 8+ minutes for tsan
      and prevented compact_on_deletion_collector_test from running during check_0
      since no t/run-* script could be generated.
      
      Test Plan:
      run make check, verify generating t/run-* scripts is fast and
      ./compact_on_deletion_collector_test is now run
      
      Reviewers: IslamAbdelRahman, wanning, lightmark, sdong
      
      Reviewed By: sdong
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D61695
      1b0069ce
  11. 06 8月, 2016 2 次提交
    • O
      Add time series database (resubmitted) · 44f5cc57
      omegaga 提交于
      Summary: Implement a time series database that supports DateTieredCompactionStrategy. It wraps a db object and separate SST files in different column families (time windows).
      
      Test Plan: Add `date_tiered_test`.
      
      Reviewers: dhruba, sdong
      
      Reviewed By: sdong
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D61653
      44f5cc57
    • S
      A utility function to help users migrate DB after options change · 7c4615cf
      sdong 提交于
      Summary: Add a utility function that trigger necessary full compaction and put output to the correct level by looking at new options and old options.
      
      Test Plan: Add unit tests for it.
      
      Reviewers: andrewkr, igor, IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: muthu, sumeet, leveldb, andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D60783
      7c4615cf
  12. 02 8月, 2016 2 次提交
    • I
      Fix parallel tests `make check -j` · 0155c73d
      Islam AbdelRahman 提交于
      Summary:
      parallel tests are broken because gnu_parallel is reading deprecated options from `/etc/parallel/config`
      Fix this by passing `--plain` to ignore `/etc/parallel/config`
      
      Test Plan: make check -j64
      
      Reviewers: kradhakrishnan, sdong, andrewkr, yiwu, arahut
      
      Reviewed By: arahut
      
      Subscribers: andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D61359
      0155c73d
    • O
      Experiments on column-aware encodings · d51dc96a
      omegaga 提交于
      Summary:
      Experiments on column-aware encodings. Supported features: 1) extract data blocks from SST file and encode with specified encodings; 2) Decode encoded data back into row format; 3) Directly extract data blocks and write in row format (without prefix encoding); 4) Get column distribution statistics for column format; 5) Dump data blocks separated by columns in human-readable format.
      
      There is still on-going work on this diff. More refactoring is necessary.
      
      Test Plan: Wrote tests in `column_aware_encoding_test.cc`. More tests should be added.
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: arahut, andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D60027
      d51dc96a
  13. 30 7月, 2016 1 次提交
  14. 28 7月, 2016 1 次提交
  15. 26 7月, 2016 1 次提交
  16. 23 7月, 2016 2 次提交
  17. 22 7月, 2016 4 次提交
    • S
      Need to make sure log file synced before flushing memtable of one column family · d5a51d4d
      sdong 提交于
      Summary: Multiput atomiciy is broken across multiple column families if we don't sync WAL before flushing one column family. The WAL file may contain a write batch containing writes to a key to the CF to be flushed and a key to other CF. If we don't sync WAL before flushing, if machine crashes after flushing, the write batch will only be partial recovered. Data to other CFs are lost.
      
      Test Plan: Add a new unit test which will fail without the diff.
      
      Reviewers: yhchiang, IslamAbdelRahman, igor, yiwu
      
      Reviewed By: yiwu
      
      Subscribers: yiwu, leveldb, andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D60915
      d5a51d4d
    • S
      Add unit test not on /dev/shm as part of the pre-commit tests · b5063292
      sdong 提交于
      Summary: RocksDB behavior is slightly different between data on tmpfs and normal file systems. Add a test case to run RocksDB on normal file system.
      
      Test Plan: See the tests launched by Phabricator
      
      Reviewers: kradhakrishnan, IslamAbdelRahman, gunnarku
      
      Reviewed By: gunnarku
      
      Subscribers: leveldb, andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D60963
      b5063292
    • R
      Add EnvLibrados - RocksDB Env of RADOS (#1222) · 663afef8
      ryneli 提交于
      EnvLibrados is a customized RocksDB Env to use RADOS as the backend file system of RocksDB. It overrides all file system related API of default Env. The easiest way to use it is just like following:
      
      	std::string db_name = "test_db";
      	std::string config_path = "path/to/ceph/config";
      	DB* db;
      	Options options;
      	options.env = EnvLibrados(db_name, config_path);
      	Status s = DB::Open(options, kDBPath, &db);
      
      Then EnvLibrados will forward all file read/write operation to the RADOS cluster assigned by config_path. Default pool is db_name+"_pool".
      
      There are some options that users could set for EnvLibrados.
      - write_buffer_size. This variable is the max buffer size for WritableFile. After reaching the buffer_max_size, EnvLibrados will sync buffer content to RADOS, then clear buffer.
      - db_pool. Rather than using default pool, users could set their own db pool name
      - wal_dir. The dir for WAL files. Because RocksDB only has 2-level structure (dir_name/file_name), the format of wal_dir is "/dir_name"(CAN'T be "/dir1/dir2"). Default wal_dir is "/wal".
      - wal_pool. Corresponding pool name for WAL files. Default value is db_name+"_wal_pool"
      
      The example of setting options looks like following:
      
      	db_name = "test_db";
      	db_pool = db_name+"_pool";
      	wal_dir = "/wal";
      	wal_pool = db_name+"_wal_pool";
      	write_buffer_size = 1 << 20;
      	env_ = new EnvLibrados(db_name, config, db_pool, wal_dir, wal_pool, write_buffer_size);
      
      	DB* db;
      	Options options;
      	options.env = env_;
      	// The last level dir name should match the dir name in prefix_pool_map
      	options.wal_dir = "/tmp/wal";
      
      	// open DB
      	Status s = DB::Open(options, kDBPath, &db);
      
      Librados is required to compile EnvLibrados. Then use "$make LIBRADOS=1" to compile RocksDB. If you want to only compile EnvLibrados test, just run "$ make env_librados_test LIBRADOS=1". To run env_librados_test, you need to have a running RADOS cluster with the configure file located in "../ceph/src/ceph.conf" related to "rocksdb/".
      663afef8
    • Y
      Fix flush not being commit while writing manifest · 32604e66
      Yi Wu 提交于
      Summary:
      Fix flush not being commit while writing manifest, which is a recent bug introduced by D60075.
      
      The issue:
      # Options.max_background_flushes > 1
      # Background thread A pick up a flush job, flush, then commit to manifest. (Note that mutex is released before writing manifest.)
      # Background thread B pick up another flush job, flush. When it gets to `MemTableList::InstallMemtableFlushResults`, it notices another thread is commiting, so it quit.
      # After the first commit, thread A doesn't double check if there are more flush result need to commit, leaving the second flush uncommitted.
      
      Test Plan: run the test. Also verify the new test hit deadlock without the fix.
      
      Reviewers: sdong, igor, lightmark
      
      Reviewed By: lightmark
      
      Subscribers: andrewkr, omegaga, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D60969
      32604e66
  18. 21 7月, 2016 2 次提交
  19. 13 7月, 2016 1 次提交
    • Y
      Fix deadlock when trying update options when write stalls · 6ea41f85
      Yi Wu 提交于
      Summary:
      When write stalls because of auto compaction is disabled, or stop write trigger is reached,
      user may change these two options to unblock writes. Unfortunately we had issue where the write
      thread will block the attempt to persist the options, thus creating a deadlock. This diff
      fix the issue and add two test cases to detect such deadlock.
      
      Test Plan:
      Run unit tests.
      
      Also, revert db_impl.cc to master (but don't revert `DBImpl::BackgroundCompaction:Finish` sync point) and run db_options_test. Both tests should hit deadlock.
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D60627
      6ea41f85
  20. 12 7月, 2016 1 次提交
    • O
      Update Makefile to fix dependency · e6f68faf
      omegaga 提交于
      Summary: In D33849 we updated Makefile to generate .d files for all .cc sources. Since we have more types of source files now, this needs to be updated so that this mechanism can work for new files.
      
      Test Plan: change a dependent .h file, re-make and see if .o file is recompiled.
      
      Reviewers: sdong, andrewkr
      
      Reviewed By: andrewkr
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D60591
      e6f68faf
  21. 22 6月, 2016 1 次提交
    • I
      Makefile warning for invalid paths in make_config.mk · f9bd6677
      Islam AbdelRahman 提交于
      Summary:
      Update Makefile to show warnings when we have invalid paths in our make_config.mk file
      
      sample output
      
      ```
      $ make static_lib -j64
      Makefile:150: Warning: /mnt/gvfs/third-party2/libgcc/53e0eac8911888a105aa98b9a35fe61cf1d8b278/4.9.x/gcc-4.9-glibc-2.20/024dbc3/libs dont exist
      Makefile:150: Warning: /mnt/gvfs/third-party2/llvm-fb/b91de48a4974ec839946d824402b098d43454cef/stable/centos6-native/7aaccbe/../../src/clang/tools/scan-build/scan-build dont exist
        GEN      util/build_version.cc
      ```
      
      Test Plan: check that warning is printed visually
      
      Reviewers: sdong, yiwu, andrewkr
      
      Reviewed By: andrewkr
      
      Subscribers: andrewkr, dhruba
      
      Differential Revision: https://reviews.facebook.net/D59523
      f9bd6677
  22. 08 6月, 2016 1 次提交
    • K
      Persistent Read Cache (5) Volatile cache tier implementation · d755c62f
      krad 提交于
      Summary:
      This provides provides an implementation of PersistentCacheTier that is
      specialized for RAM. This tier does not persist data though.
      
      Why do we need this tier ?
      
      This is ideal as tier 0. This tier can host data that is too hot.
      
      Why can't we use Cache variants ?
      
      Yes you can use them instead. This tier can potentially outperform BlockCache
      in RAW mode by virtue of compression and compressed cache in block cache doesn't
      seem very popular. Potentially this tier can be modified to under stand the
      disadvantage of the tier below and retain data that the tier below is bad at
      handling (for example index and bloom data that is huge in size)
      
      Test Plan: Run unit tests added
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D57069
      d755c62f
  23. 04 6月, 2016 2 次提交
    • A
      env_basic_test library for testing new Envs [pluggable Env part 3] · 5aca977b
      Andrew Kryczka 提交于
      Summary:
      - Provide env_test as a static library. We will build it for future releases so internal Envs can use env_test by linking against this library.
      - Add tests for CustomEnv, which is configurable via ENV_TEST_URI environment variable. It uses the URI-based Env lookup (depends on D58449).
      - Refactor env_basic_test cases to use a unique/configurable directory for test files.
      
      Test Plan:
      built a test binary against librocksdb_env_test.a. It registered the
      default Env with URI prefix "a://".
      
      - verify runs all CustomEnv tests when URI with correct prefix is provided
      
      ```
      $ ENV_TEST_URI="a://ok" ./tmp --gtest_filter="CustomEnv/*"
      ...
      [  PASSED  ] 12 tests.
      ```
      
      - verify runs no CustomEnv tests when URI with non-matching prefix is provided
      
      ```
      $ ENV_TEST_URI="b://ok" ./tmp --gtest_filter="CustomEnv/*"
      ...
      [  PASSED  ] 0 tests.
      ```
      
      Reviewers: ldemailly, IslamAbdelRahman, lightmark, sdong
      
      Reviewed By: sdong
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D58485
      5aca977b
    • A
      Create env_basic_test [pluggable Env part 2] · 6e6622ab
      Andrew Kryczka 提交于
      Summary:
      Extracted basic Env-related tests from mock_env_test and memenv_test into a
      parameterized test for Envs: env_basic_test.
      
      Depends on D58449. (The dependency is here only so I can keep this series of
      diffs in a chain -- there is no dependency on that diff's code.)
      
      Test Plan: ran tests
      
      Reviewers: IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D58635
      6e6622ab
  24. 03 6月, 2016 2 次提交
    • A
      Env registry for URI-based Env selection [pluggable Env part 1] · af0c9ac0
      Andrew Kryczka 提交于
      Summary:
      This enables configurable Envs without recompiling. For example, my
      next diff will make env_test test an Env created by NewEnvFromUri(). Then,
      users can determine which Env is tested simply by providing the URI for
      NewEnvFromUri() (e.g., through a CLI argument or environment variable).
      
      The registration process allows us to register any Env that is linked with the
      RocksDB library, so we can register our internal Envs as well.
      
      The registration code is inspired by our internal InitRegistry.
      
      Test Plan: new unit test
      
      Reviewers: IslamAbdelRahman, lightmark, ldemailly, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb, dhruba, andrewkr
      
      Differential Revision: https://reviews.facebook.net/D58449
      af0c9ac0
    • Y
      Allows db_bench to take an options file · 88acd932
      Yueh-Hsuan Chiang 提交于
      Summary:
      This patch allows db_bench to initialize it's RocksDB Options via a
      options file, specified by the --options_file flag.  Note that if
      --options_file flag is set, then it has higher priority than the
      command-line argument.
      
      Test Plan: db_bench_tool_test
      
      Reviewers: sdong, IslamAbdelRahman, kradhakrishnan, yiwu, andrewkr
      
      Reviewed By: andrewkr
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D58533
      88acd932
  25. 28 5月, 2016 1 次提交
    • A
      Add statically-linked library for tools/benchmarks · 8dfa980c
      Andrew Kryczka 提交于
      Summary:
      Currently all the tools are included in librocksdb.a (db_bench is not). With
      this separate library, we can access db_bench functionality from our internal
      repo and eventually move tools out of librocksdb.a.
      
      Test Plan: built a simple binary against this library that invokes db_bench_tool().
      
      Reviewers: IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D58977
      8dfa980c
  26. 24 5月, 2016 1 次提交
    • A
      add simulator Cache as class SimCache/SimLRUCache(with test) · 5d660258
      Aaron Gao 提交于
      Summary: add class SimCache(base class with instrumentation api) and SimLRUCache(derived class with detailed implementation) which is used as an instrumented block cache that can predict hit rate for different cache size
      
      Test Plan:
      Add a test case in `db_block_cache_test.cc` called `SimCacheTest` to test basic logic of SimCache.
      Also add option `-simcache_size` in db_bench. if set with a value other than -1, then the benchmark will use this value as the size of the simulator cache and finally output the simulation result.
      ```
      [gzh@dev9927.prn1 ~/local/rocksdb] ./db_bench -benchmarks "fillseq,readrandom" -cache_size 1000000 -simcache_size 1000000
      RocksDB:    version 4.8
      Date:       Tue May 17 16:56:16 2016
      CPU:        32 * Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
      CPUCache:   20480 KB
      Keys:       16 bytes each
      Values:     100 bytes each (50 bytes after compression)
      Entries:    1000000
      Prefix:    0 bytes
      Keys per prefix:    0
      RawSize:    110.6 MB (estimated)
      FileSize:   62.9 MB (estimated)
      Write rate: 0 bytes/second
      Compression: Snappy
      Memtablerep: skip_list
      Perf Level: 0
      WARNING: Assertions are enabled; benchmarks unnecessarily slow
      ------------------------------------------------
      DB path: [/tmp/rocksdbtest-112628/dbbench]
      fillseq      :       6.809 micros/op 146874 ops/sec;   16.2 MB/s
      DB path: [/tmp/rocksdbtest-112628/dbbench]
      readrandom   :       6.343 micros/op 157665 ops/sec;   17.4 MB/s (1000000 of 1000000 found)
      
      SIMULATOR CACHE STATISTICS:
      SimCache LOOKUPs: 986559
      SimCache HITs:    264760
      SimCache HITRATE: 26.84%
      
      [gzh@dev9927.prn1 ~/local/rocksdb] ./db_bench -benchmarks "fillseq,readrandom" -cache_size 1000000 -simcache_size 10000000
      RocksDB:    version 4.8
      Date:       Tue May 17 16:57:10 2016
      CPU:        32 * Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
      CPUCache:   20480 KB
      Keys:       16 bytes each
      Values:     100 bytes each (50 bytes after compression)
      Entries:    1000000
      Prefix:    0 bytes
      Keys per prefix:    0
      RawSize:    110.6 MB (estimated)
      FileSize:   62.9 MB (estimated)
      Write rate: 0 bytes/second
      Compression: Snappy
      Memtablerep: skip_list
      Perf Level: 0
      WARNING: Assertions are enabled; benchmarks unnecessarily slow
      ------------------------------------------------
      DB path: [/tmp/rocksdbtest-112628/dbbench]
      fillseq      :       5.066 micros/op 197394 ops/sec;   21.8 MB/s
      DB path: [/tmp/rocksdbtest-112628/dbbench]
      readrandom   :       6.457 micros/op 154870 ops/sec;   17.1 MB/s (1000000 of 1000000 found)
      
      SIMULATOR CACHE STATISTICS:
      SimCache LOOKUPs: 1059764
      SimCache HITs:    374501
      SimCache HITRATE: 35.34%
      
      [gzh@dev9927.prn1 ~/local/rocksdb] ./db_bench -benchmarks "fillseq,readrandom" -cache_size 1000000 -simcache_size 100000000
      RocksDB:    version 4.8
      Date:       Tue May 17 16:57:32 2016
      CPU:        32 * Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
      CPUCache:   20480 KB
      Keys:       16 bytes each
      Values:     100 bytes each (50 bytes after compression)
      Entries:    1000000
      Prefix:    0 bytes
      Keys per prefix:    0
      RawSize:    110.6 MB (estimated)
      FileSize:   62.9 MB (estimated)
      Write rate: 0 bytes/second
      Compression: Snappy
      Memtablerep: skip_list
      Perf Level: 0
      WARNING: Assertions are enabled; benchmarks unnecessarily slow
      ------------------------------------------------
      DB path: [/tmp/rocksdbtest-112628/dbbench]
      fillseq      :       5.632 micros/op 177572 ops/sec;   19.6 MB/s
      DB path: [/tmp/rocksdbtest-112628/dbbench]
      readrandom   :       6.892 micros/op 145094 ops/sec;   16.1 MB/s (1000000 of 1000000 found)
      
      SIMULATOR CACHE STATISTICS:
      SimCache LOOKUPs: 1150767
      SimCache HITs:    1034535
      SimCache HITRATE: 89.90%
      ```
      
      Reviewers: IslamAbdelRahman, andrewkr, sdong
      
      Reviewed By: sdong
      
      Subscribers: MarkCallaghan, andrewkr, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D57999
      5d660258
  27. 21 5月, 2016 1 次提交
  28. 20 5月, 2016 1 次提交