From 01cbdd2aae8f998e3e532dec06f0f373a6cff719 Mon Sep 17 00:00:00 2001 From: Igor Canadi Date: Wed, 20 Aug 2014 11:14:01 -0700 Subject: [PATCH] Optimize storage parameters for spatialDB Summary: We need to start compression at level 1, while OptimizeForLevelComapaction() only sets up rocksdb to start compressing at level 2. I also adjusted some other things. Test Plan: compiles Reviewers: yinwang Reviewed By: yinwang Differential Revision: https://reviews.facebook.net/D22203 --- utilities/spatialdb/spatial_db.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/utilities/spatialdb/spatial_db.cc b/utilities/spatialdb/spatial_db.cc index a0dff5120..524803f0d 100644 --- a/utilities/spatialdb/spatial_db.cc +++ b/utilities/spatialdb/spatial_db.cc @@ -552,8 +552,18 @@ class SpatialDBImpl : public SpatialDB { namespace { Options GetRocksDBOptionsFromOptions(const SpatialDBOptions& options) { Options rocksdb_options; - rocksdb_options.OptimizeLevelStyleCompaction(); rocksdb_options.IncreaseParallelism(options.num_threads); + rocksdb_options.write_buffer_size = 256 * 1024 * 1024; // 256MB + rocksdb_options.max_bytes_for_level_base = 1024 * 1024 * 1024; // 1 GB + // only compress levels >= 1 + rocksdb_options.compression_per_level.resize(rocksdb_options.num_levels); + for (int i = 0; i < rocksdb_options.num_levels; ++i) { + if (i == 0) { + rocksdb_options.compression_per_level[i] = kNoCompression; + } else { + rocksdb_options.compression_per_level[i] = kLZ4Compression; + } + } rocksdb_options.block_cache = NewLRUCache(options.cache_size); if (options.bulk_load) { rocksdb_options.PrepareForBulkLoad(); -- GitLab