972f96b3fb
Summary: rocksdb direct io support ``` [gzh@dev11575.prn2 ~/rocksdb] ./db_bench -benchmarks=fillseq --num=1000000 Initializing RocksDB Options from the specified file Initializing RocksDB Options from command-line flags RocksDB: version 5.0 Date: Wed Nov 23 13:17:43 2016 CPU: 40 * Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz CPUCache: 25600 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: 1 WARNING: Assertions are enabled; benchmarks unnecessarily slow ------------------------------------------------ Initializing RocksDB Options from the specified file Initializing RocksDB Options from command-line flags DB path: [/tmp/rocksdbtest-112628/dbbench] fillseq : 4.393 micros/op 227639 ops/sec; 25.2 MB/s [gzh@dev11575.prn2 ~/roc Closes https://github.com/facebook/rocksdb/pull/1564 Differential Revision: D4241093 Pulled By: lightmark fbshipit-source-id: 98c29e3
101 lines
2.9 KiB
C++
101 lines
2.9 KiB
C++
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "rocksdb/options.h"
|
|
|
|
namespace rocksdb {
|
|
|
|
struct ImmutableDBOptions {
|
|
ImmutableDBOptions();
|
|
explicit ImmutableDBOptions(const DBOptions& options);
|
|
|
|
void Dump(Logger* log) const;
|
|
|
|
bool create_if_missing;
|
|
bool create_missing_column_families;
|
|
bool error_if_exists;
|
|
bool paranoid_checks;
|
|
Env* env;
|
|
std::shared_ptr<RateLimiter> rate_limiter;
|
|
std::shared_ptr<SstFileManager> sst_file_manager;
|
|
std::shared_ptr<Logger> info_log;
|
|
InfoLogLevel info_log_level;
|
|
int max_open_files;
|
|
int max_file_opening_threads;
|
|
std::shared_ptr<Statistics> statistics;
|
|
bool disable_data_sync;
|
|
bool use_fsync;
|
|
std::vector<DbPath> db_paths;
|
|
std::string db_log_dir;
|
|
std::string wal_dir;
|
|
uint32_t max_subcompactions;
|
|
int max_background_flushes;
|
|
size_t max_log_file_size;
|
|
size_t log_file_time_to_roll;
|
|
size_t keep_log_file_num;
|
|
size_t recycle_log_file_num;
|
|
uint64_t max_manifest_file_size;
|
|
int table_cache_numshardbits;
|
|
uint64_t wal_ttl_seconds;
|
|
uint64_t wal_size_limit_mb;
|
|
size_t manifest_preallocation_size;
|
|
bool allow_mmap_reads;
|
|
bool allow_mmap_writes;
|
|
bool use_direct_reads;
|
|
bool use_direct_writes;
|
|
bool allow_fallocate;
|
|
bool is_fd_close_on_exec;
|
|
unsigned int stats_dump_period_sec;
|
|
bool advise_random_on_open;
|
|
size_t db_write_buffer_size;
|
|
std::shared_ptr<WriteBufferManager> write_buffer_manager;
|
|
DBOptions::AccessHint access_hint_on_compaction_start;
|
|
bool new_table_reader_for_compaction_inputs;
|
|
size_t compaction_readahead_size;
|
|
size_t random_access_max_buffer_size;
|
|
size_t writable_file_max_buffer_size;
|
|
bool use_adaptive_mutex;
|
|
uint64_t bytes_per_sync;
|
|
uint64_t wal_bytes_per_sync;
|
|
std::vector<std::shared_ptr<EventListener>> listeners;
|
|
bool enable_thread_tracking;
|
|
bool allow_concurrent_memtable_write;
|
|
bool enable_write_thread_adaptive_yield;
|
|
uint64_t write_thread_max_yield_usec;
|
|
uint64_t write_thread_slow_yield_usec;
|
|
bool skip_stats_update_on_db_open;
|
|
WALRecoveryMode wal_recovery_mode;
|
|
bool allow_2pc;
|
|
std::shared_ptr<Cache> row_cache;
|
|
#ifndef ROCKSDB_LITE
|
|
WalFilter* wal_filter;
|
|
#endif // ROCKSDB_LITE
|
|
bool fail_if_options_file_error;
|
|
bool dump_malloc_stats;
|
|
bool avoid_flush_during_recovery;
|
|
};
|
|
|
|
struct MutableDBOptions {
|
|
MutableDBOptions();
|
|
explicit MutableDBOptions(const MutableDBOptions& options) = default;
|
|
explicit MutableDBOptions(const DBOptions& options);
|
|
|
|
void Dump(Logger* log) const;
|
|
|
|
int base_background_compactions;
|
|
int max_background_compactions;
|
|
bool avoid_flush_during_shutdown;
|
|
uint64_t delayed_write_rate;
|
|
uint64_t max_total_wal_size;
|
|
uint64_t delete_obsolete_files_period_micros;
|
|
};
|
|
|
|
} // namespace rocksdb
|