@Override public Options setMinWriteBufferNumberToMerge( final int minWriteBufferNumberToMerge) { setMinWriteBufferNumberToMerge(nativeHandle_, minWriteBufferNumberToMerge); return this; }
.setMaxWriteBufferNumber(8)// .setMaxBackgroundCompactions(2)// .setMinWriteBufferNumberToMerge(4)// .setBytesPerSync(0/* 64 * 1024 * 1024 */)//
private Options createDatabaseOptions() { BlockBasedTableConfig tableFormatConfig = new BlockBasedTableConfig() .setBlockSize(cacheBlockSizeKB * 1024L) .setBlockCacheSize(readCacheSizeMB * 1024L * 1024L) .setCacheIndexAndFilterBlocks(true); return new Options() .setCreateIfMissing(true) .setDbLogDir(Paths.get(this.dbDir, DB_LOG_DIR).toString()) .setWalDir(Paths.get(this.dbDir, DB_WRITE_AHEAD_LOG_DIR).toString()) .setWalTtlSeconds(0) .setWalSizeLimitMB(MAX_WRITE_AHEAD_LOG_SIZE_MB) .setWriteBufferSize(writeBufferSizeMB * 1024L * 1024L) .setMaxWriteBufferNumber(MAX_WRITE_BUFFER_NUMBER) .setMinWriteBufferNumberToMerge(MIN_WRITE_BUFFER_NUMBER_TO_MERGE) .setTableFormatConfig(tableFormatConfig) .setOptimizeFiltersForHits(true) .setUseDirectReads(true); }
/** * Builds RocksDb {@link Options}. * * @param maxBackgroundThreads * @param levelZeloFileNumCompactionTrigger * @param writeBufferSize * @param targetFileSizeBase * @return */ public static Options buildOptions(int maxBackgroundThreads, int levelZeloFileNumCompactionTrigger, long writeBufferSize, long targetFileSizeBase) { Options rocksOptions = new Options(); rocksOptions.setCreateIfMissing(true).getEnv().setBackgroundThreads(1, Env.FLUSH_POOL) .setBackgroundThreads(maxBackgroundThreads, Env.COMPACTION_POOL); rocksOptions.setMaxBackgroundFlushes(1).setMaxBackgroundCompactions(maxBackgroundThreads); rocksOptions.setWriteBufferSize(writeBufferSize).setMinWriteBufferNumberToMerge(2) .setLevelZeroFileNumCompactionTrigger(levelZeloFileNumCompactionTrigger) .setTargetFileSizeBase(targetFileSizeBase); rocksOptions.setMemTableConfig(new SkipListMemTableConfig()); // rocksOptions.setMemTableConfig(new HashSkipListMemTableConfig()); // rocksOptions.setMemTableConfig(new HashLinkedListMemTableConfig()); return rocksOptions; }