Merge pull request #8224 from liquid-helium/thread-priority
Added knobs for RocksDB reader/writer thread priorities.
This commit is contained in:
commit
20864e67de
|
@ -377,7 +377,8 @@ void ServerKnobs::initialize(Randomize randomize, ClientKnobs* clientKnobs, IsSi
|
|||
init( ROCKSDB_LEVEL_COMPACTION_DYNAMIC_LEVEL_BYTES, true ); if( randomize && BUGGIFY ) ROCKSDB_LEVEL_COMPACTION_DYNAMIC_LEVEL_BYTES = false;
|
||||
init( ROCKSDB_SUGGEST_COMPACT_CLEAR_RANGE, true ); if( randomize && BUGGIFY ) ROCKSDB_SUGGEST_COMPACT_CLEAR_RANGE = false;
|
||||
init( ROCKSDB_READ_RANGE_ROW_LIMIT, 65535 ); if( randomize && BUGGIFY ) ROCKSDB_READ_RANGE_ROW_LIMIT = deterministicRandom()->randomInt(2, 10);
|
||||
|
||||
init( ROCKSDB_READER_THREAD_PRIORITY, 0 );
|
||||
init( ROCKSDB_WRITER_THREAD_PRIORITY, 0 );
|
||||
init( ROCKSDB_BACKGROUND_PARALLELISM, 4 );
|
||||
init( ROCKSDB_READ_PARALLELISM, 4 );
|
||||
// Use a smaller memtable in simulation to avoid OOMs.
|
||||
|
|
|
@ -302,6 +302,8 @@ public:
|
|||
int64_t REPLACE_CONTENTS_BYTES;
|
||||
|
||||
// KeyValueStoreRocksDB
|
||||
int ROCKSDB_READER_THREAD_PRIORITY;
|
||||
int ROCKSDB_WRITER_THREAD_PRIORITY;
|
||||
bool ROCKSDB_LEVEL_COMPACTION_DYNAMIC_LEVEL_BYTES;
|
||||
int ROCKSDB_SUGGEST_COMPACT_CLEAR_RANGE;
|
||||
int ROCKSDB_READ_RANGE_ROW_LIMIT;
|
||||
|
|
|
@ -1667,8 +1667,8 @@ struct RocksDBKeyValueStore : IKeyValueStore {
|
|||
writeThread = CoroThreadPool::createThreadPool();
|
||||
readThreads = CoroThreadPool::createThreadPool();
|
||||
} else {
|
||||
writeThread = createGenericThreadPool();
|
||||
readThreads = createGenericThreadPool();
|
||||
writeThread = createGenericThreadPool(/*stackSize=*/0, SERVER_KNOBS->ROCKSDB_WRITER_THREAD_PRIORITY);
|
||||
readThreads = createGenericThreadPool(/*stackSize=*/0, SERVER_KNOBS->ROCKSDB_READER_THREAD_PRIORITY);
|
||||
}
|
||||
if (SERVER_KNOBS->ROCKSDB_HISTOGRAMS_SAMPLE_RATE > 0) {
|
||||
collection = actorCollection(addActor.getFuture());
|
||||
|
|
|
@ -2239,8 +2239,8 @@ struct ShardedRocksDBKeyValueStore : IKeyValueStore {
|
|||
writeThread = CoroThreadPool::createThreadPool();
|
||||
readThreads = CoroThreadPool::createThreadPool();
|
||||
} else {
|
||||
writeThread = createGenericThreadPool();
|
||||
readThreads = createGenericThreadPool();
|
||||
writeThread = createGenericThreadPool(/*stackSize=*/0, SERVER_KNOBS->ROCKSDB_WRITER_THREAD_PRIORITY);
|
||||
readThreads = createGenericThreadPool(/*stackSize=*/0, SERVER_KNOBS->ROCKSDB_READER_THREAD_PRIORITY);
|
||||
}
|
||||
writeThread->addThread(new Writer(id, 0, shardManager.getColumnFamilyMap(), rocksDBMetrics), "fdb-rocksdb-wr");
|
||||
TraceEvent("ShardedRocksDBReadThreads", id)
|
||||
|
|
Loading…
Reference in New Issue