Avoid the creation of large numbers of small LDB files.

This commit is contained in:
JoelKatz
2013-05-11 14:41:11 -07:00
parent 614f29bf36
commit 51d7340364
3 changed files with 5 additions and 2 deletions

View File

@@ -180,6 +180,7 @@ void Application::setup()
options.filter_policy = leveldb::NewBloomFilterPolicy(10);
if (theConfig.LDB_IMPORT)
options.write_buffer_size = 32 << 20;
options.write_buffer_size = std::max(options.write_buffer_size, theConfig.getSize(siLDBWriteSize) << 20);
leveldb::Status status = leveldb::DB::Open(options, (theConfig.DATA_DIR / "hashnode").string(), &mHashNodeLDB);
if (!status.ok() || !mHashNodeLDB)
{

View File

@@ -515,7 +515,8 @@ int Config::getSize(SizedItemName item)
{ siLineCacheAge, { 500, 600, 1800, 3600, 7200 } },
{ siHashNodeDBCache, { 24, 48, 64, 128, 256 } },
{ siTxnDBCache, { 4, 12, 48, 96, 192 } },
{ siLgrDBCache, { 4, 8, 32, 64, 128 } }
{ siLgrDBCache, { 4, 8, 32, 64, 128 } },
{ siLDBWriteSize, { 8, 16, 32, 64, 128 } }
};
for (int i = 0; i < (sizeof(sizeTable) / sizeof(SizedItem)); ++i)

View File

@@ -67,7 +67,8 @@ enum SizedItemName
siLineCacheAge,
siHashNodeDBCache,
siTxnDBCache,
siLgrDBCache
siLgrDBCache,
siLDBWriteSize
};
struct SizedItem