diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-01-05 11:48:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-05 11:48:52 +0100 |
commit | 5fa8505b29d4af13fbbd8d95069e3e8826d6f4a7 (patch) | |
tree | ebbcd7485397ca809f804de6d1cd815ae96375c4 /config-model/src/main/java/com/yahoo | |
parent | cfaa0be19da00466a73b57a9630477eabe46a8bd (diff) | |
parent | 2aa6508c287c941ebc3555764f3893b49f216a82 (diff) |
Merge pull request #20653 from vespa-engine/balder/reduce-default-max-memory-gain-before-flush-from-12.5-to-10-percent
Let max summary filesize be 2% of available memory instead of an anciā¦
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java index 4d03733de51..0eb0bd0bf2d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java @@ -14,8 +14,9 @@ import static java.lang.Long.max; */ public class NodeResourcesTuning implements ProtonConfig.Producer { - private final static double SUMMARY_CACHE_SIZE_FRACTION_OF_MEMORY = 0.05; - private final static double MEMORY_GAIN_FRACTION_OF_MEMORY = 0.10; + private final static double SUMMARY_FILE_SIZE_AS_FRACTION_OF_MEMORY = 0.02; + private final static double SUMMARY_CACHE_SIZE_AS_FRACTION_OF_MEMORY = 0.05; + private final static double MEMORY_GAIN_AS_FRACTION_OF_MEMORY = 0.10; final static long MB = 1024 * 1024; public final static long GB = MB * 1024; // This is an approximate number base on observation of a node using 33G memory with 765M docs @@ -63,7 +64,7 @@ public class NodeResourcesTuning implements ProtonConfig.Producer { } private void tuneSummaryCache(ProtonConfig.Summary.Cache.Builder builder) { - long memoryLimitBytes = (long) ((usableMemoryGb() * SUMMARY_CACHE_SIZE_FRACTION_OF_MEMORY) * GB); + long memoryLimitBytes = (long) ((usableMemoryGb() * SUMMARY_CACHE_SIZE_AS_FRACTION_OF_MEMORY) * GB); builder.maxbytes(memoryLimitBytes); } @@ -81,20 +82,12 @@ public class NodeResourcesTuning implements ProtonConfig.Producer { } private void tuneDocumentStoreMaxFileSize(ProtonConfig.Summary.Log.Builder builder) { - double memoryGb = usableMemoryGb(); - long fileSizeBytes = 4 * GB; - if (memoryGb <= 12.0) { - fileSizeBytes = 256 * MB; - } else if (memoryGb < 24.0) { - fileSizeBytes = 512 * MB; - } else if (memoryGb <= 64.0) { - fileSizeBytes = 1 * GB; - } + long fileSizeBytes = (long) Math.max(256*MB, usableMemoryGb()*GB*SUMMARY_FILE_SIZE_AS_FRACTION_OF_MEMORY); builder.maxfilesize(fileSizeBytes); } private void tuneFlushStrategyMemoryLimits(ProtonConfig.Flush.Memory.Builder builder) { - long memoryLimitBytes = (long) ((usableMemoryGb() * MEMORY_GAIN_FRACTION_OF_MEMORY) * GB); + long memoryLimitBytes = (long) ((usableMemoryGb() * MEMORY_GAIN_AS_FRACTION_OF_MEMORY) * GB); builder.maxmemory(memoryLimitBytes); builder.each.maxmemory(memoryLimitBytes); } |