aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-11-09 14:07:24 +0100
committerGitHub <[email protected]>2023-11-09 14:07:24 +0100
commit349f5ec5bf0e987a65a9b08e5015a31e1047e292 (patch)
tree7299a96b6142090bfaccbe32af2ff9c5828f0818 /src
parent0.2.31-pre0 (diff)
downloadzen-349f5ec5bf0e987a65a9b08e5015a31e1047e292.tar.xz
zen-349f5ec5bf0e987a65a9b08e5015a31e1047e292.zip
reduce number of files generated on shared instances (#524)
Diffstat (limited to 'src')
-rw-r--r--src/zenserver/cache/cachedisklayer.cpp4
-rw-r--r--src/zenserver/zenserver.cpp5
2 files changed, 8 insertions, 1 deletions
diff --git a/src/zenserver/cache/cachedisklayer.cpp b/src/zenserver/cache/cachedisklayer.cpp
index d66430f15..2d28c4875 100644
--- a/src/zenserver/cache/cachedisklayer.cpp
+++ b/src/zenserver/cache/cachedisklayer.cpp
@@ -172,9 +172,11 @@ ZenCacheDiskLayer::CacheBucket::CacheBucket(GcManager& Gc,
{
if (m_BucketName.starts_with(std::string_view("legacy")) || m_BucketName.ends_with(std::string_view("shadermap")))
{
+ const uint64_t LegacyOverrideSize = 16 * 1024 * 1024;
+
// This is pretty ad hoc but in order to avoid too many individual files
// it makes sense to have a different strategy for legacy values
- m_Configuration.LargeObjectThreshold = 16 * 1024 * 1024;
+ m_Configuration.LargeObjectThreshold = Max(m_Configuration.LargeObjectThreshold, LegacyOverrideSize);
}
m_Gc.AddGcReferencer(*this);
}
diff --git a/src/zenserver/zenserver.cpp b/src/zenserver/zenserver.cpp
index f9d376c37..7111900ec 100644
--- a/src/zenserver/zenserver.cpp
+++ b/src/zenserver/zenserver.cpp
@@ -437,6 +437,11 @@ ZenServer::InitializeStructuredCache(const ZenServerOptions& ServerOptions)
Config.NamespaceConfig.DiskLayerConfig.MemCacheTrimIntervalSeconds = ServerOptions.StructuredCacheConfig.MemTrimIntervalSeconds;
Config.NamespaceConfig.DiskLayerConfig.MemCacheMaxAgeSeconds = ServerOptions.StructuredCacheConfig.MemMaxAgeSeconds;
+ if (ServerOptions.IsDedicated)
+ {
+ Config.NamespaceConfig.DiskLayerConfig.BucketConfig.LargeObjectThreshold = 128 * 1024 * 1024;
+ }
+
m_CacheStore = new ZenCacheStore(m_GcManager, *m_JobQueue, m_DataRoot / "cache", Config, m_GcManager.GetDiskWriteBlocker());
const ZenUpstreamCacheConfig& UpstreamConfig = ServerOptions.UpstreamCacheConfig;