From 7df585a13cd8d445396bbfbc10ad127dce89b272 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Tue, 10 Oct 2023 13:12:02 +0200 Subject: cache reference tracking (#455) - Feature: Add caching of referenced CId content for structured cache records, this avoid disk thrashing when gathering references for GC - disabled by default, enable with `--cache-reference-cache-enabled` - Improvement: Faster collection of referenced CId content in project store --- src/zenserver/config.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/zenserver/config.cpp') diff --git a/src/zenserver/config.cpp b/src/zenserver/config.cpp index 435b66a83..342f41b68 100644 --- a/src/zenserver/config.cpp +++ b/src/zenserver/config.cpp @@ -802,6 +802,9 @@ ParseConfigFile(const std::filesystem::path& Path, LuaOptions.AddOption("cache.enable"sv, ServerOptions.StructuredCacheConfig.Enabled); LuaOptions.AddOption("cache.writelog"sv, ServerOptions.StructuredCacheConfig.WriteLogEnabled, "cache-write-log"); LuaOptions.AddOption("cache.accesslog"sv, ServerOptions.StructuredCacheConfig.AccessLogEnabled, "cache-access-log"); + LuaOptions.AddOption("cache.referencecache"sv, + ServerOptions.StructuredCacheConfig.EnableReferenceCaching, + "cache-reference-cache-enabled"); LuaOptions.AddOption("cache.memlayer.targetfootprint"sv, ServerOptions.StructuredCacheConfig.MemTargetFootprintBytes, @@ -1226,6 +1229,13 @@ ParseCliOptions(int argc, char* argv[], ZenServerOptions& ServerOptions) cxxopts::value(ServerOptions.StructuredCacheConfig.AccessLogEnabled)->default_value("true"), ""); + options.add_option("cache", + "", + "cache-reference-cache-enabled", + "Whether caching of references is enabled", + cxxopts::value(ServerOptions.StructuredCacheConfig.EnableReferenceCaching)->default_value("false"), + ""); + options.add_option("cache", "", "cache-memlayer-targetfootprint", -- cgit v1.2.3