Add max open files option
This commit is contained in:
parent
1df38022fb
commit
32b514c866
@ -14,4 +14,5 @@ public record DatabaseOptions(Map<String, String> extraFlags,
|
|||||||
boolean allowMemoryMapping,
|
boolean allowMemoryMapping,
|
||||||
boolean allowNettyDirect,
|
boolean allowNettyDirect,
|
||||||
boolean useNettyDirect,
|
boolean useNettyDirect,
|
||||||
boolean enableDbAssertionsWhenUsingAssertions) {}
|
boolean enableDbAssertionsWhenUsingAssertions,
|
||||||
|
int maxOpenFiles) {}
|
||||||
|
@ -296,6 +296,7 @@ public class LLLocalKeyValueDatabase implements LLKeyValueDatabase {
|
|||||||
600L * 1024L * 1024L * 1024L)); // 600GiB
|
600L * 1024L * 1024L * 1024L)); // 600GiB
|
||||||
options.setDbPaths(paths);
|
options.setDbPaths(paths);
|
||||||
options.setCfPaths(paths);
|
options.setCfPaths(paths);
|
||||||
|
options.setMaxOpenFiles(databaseOptions.maxOpenFiles());
|
||||||
// Direct I/O parameters. Removed because they use too much disk.
|
// Direct I/O parameters. Removed because they use too much disk.
|
||||||
//options.setUseDirectReads(true);
|
//options.setUseDirectReads(true);
|
||||||
//options.setUseDirectIoForFlushAndCompaction(true);
|
//options.setUseDirectIoForFlushAndCompaction(true);
|
||||||
@ -309,7 +310,6 @@ public class LLLocalKeyValueDatabase implements LLKeyValueDatabase {
|
|||||||
.setBytesPerSync(0) // default
|
.setBytesPerSync(0) // default
|
||||||
.setWalBytesPerSync(0) // default
|
.setWalBytesPerSync(0) // default
|
||||||
.setIncreaseParallelism(1)
|
.setIncreaseParallelism(1)
|
||||||
.setMaxOpenFiles(15)
|
|
||||||
.optimizeLevelStyleCompaction(1024 * 1024) // 1MiB of ram will be used for level style compaction
|
.optimizeLevelStyleCompaction(1024 * 1024) // 1MiB of ram will be used for level style compaction
|
||||||
.setWriteBufferSize(1024 * 1024) // 1MB
|
.setWriteBufferSize(1024 * 1024) // 1MB
|
||||||
.setWalTtlSeconds(0)
|
.setWalTtlSeconds(0)
|
||||||
@ -345,7 +345,6 @@ public class LLLocalKeyValueDatabase implements LLKeyValueDatabase {
|
|||||||
.setIncreaseParallelism(Runtime.getRuntime().availableProcessors())
|
.setIncreaseParallelism(Runtime.getRuntime().availableProcessors())
|
||||||
.setBytesPerSync(1 * 1024 * 1024) // 1MiB
|
.setBytesPerSync(1 * 1024 * 1024) // 1MiB
|
||||||
.setWalBytesPerSync(10 * 1024 * 1024)
|
.setWalBytesPerSync(10 * 1024 * 1024)
|
||||||
.setMaxOpenFiles(1500)
|
|
||||||
.optimizeLevelStyleCompaction(
|
.optimizeLevelStyleCompaction(
|
||||||
128 * 1024 * 1024) // 128MiB of ram will be used for level style compaction
|
128 * 1024 * 1024) // 128MiB of ram will be used for level style compaction
|
||||||
.setWriteBufferSize(64 * 1024 * 1024) // 64MB
|
.setWriteBufferSize(64 * 1024 * 1024) // 64MB
|
||||||
@ -375,7 +374,6 @@ public class LLLocalKeyValueDatabase implements LLKeyValueDatabase {
|
|||||||
.setCompactionReadaheadSize(4 * 1024 * 1024) // recommend at least 2MB
|
.setCompactionReadaheadSize(4 * 1024 * 1024) // recommend at least 2MB
|
||||||
// Option to tune write buffer for direct writes
|
// Option to tune write buffer for direct writes
|
||||||
.setWritableFileMaxBufferSize(4 * 1024 * 1024)
|
.setWritableFileMaxBufferSize(4 * 1024 * 1024)
|
||||||
.setMaxOpenFiles(-1)
|
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ public class DbTestUtils {
|
|||||||
.then(new LLLocalDatabaseConnection(DbTestUtils.ALLOCATOR, wrkspcPath).connect())
|
.then(new LLLocalDatabaseConnection(DbTestUtils.ALLOCATOR, wrkspcPath).connect())
|
||||||
.flatMap(conn -> conn.getDatabase("testdb",
|
.flatMap(conn -> conn.getDatabase("testdb",
|
||||||
List.of(Column.dictionary("testmap"), Column.special("ints"), Column.special("longs")),
|
List.of(Column.dictionary("testmap"), Column.special("ints"), Column.special("longs")),
|
||||||
new DatabaseOptions(Map.of(), true, false, true, false, true, true, true, true)
|
new DatabaseOptions(Map.of(), true, false, true, false, true, true, true, true, -1)
|
||||||
)),
|
)),
|
||||||
action,
|
action,
|
||||||
db -> db.close().then(Mono.fromCallable(() -> {
|
db -> db.close().then(Mono.fromCallable(() -> {
|
||||||
|
@ -135,7 +135,7 @@ public class OldDatabaseTests {
|
|||||||
.then(new LLLocalDatabaseConnection(PooledByteBufAllocator.DEFAULT, wrkspcPath).connect())
|
.then(new LLLocalDatabaseConnection(PooledByteBufAllocator.DEFAULT, wrkspcPath).connect())
|
||||||
.flatMap(conn -> conn.getDatabase("testdb",
|
.flatMap(conn -> conn.getDatabase("testdb",
|
||||||
List.of(Column.dictionary("testmap")),
|
List.of(Column.dictionary("testmap")),
|
||||||
new DatabaseOptions(Map.of(), true, false, true, false, true, true, true, true)
|
new DatabaseOptions(Map.of(), true, false, true, false, true, true, true, true, -1)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user