aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-01-04 22:42:59 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2022-01-04 22:42:59 +0100
commit2aa6508c287c941ebc3555764f3893b49f216a82 (patch)
tree399d8a498b92ad78fed9ede3aed2877f2aad25ff /config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java
parent3ac94879293d5f536266186eb3939046e73c6aac (diff)
Let max summary filesize be 2% of available memory instead of an ancient staircase, that only fits the perfect the ones with a perfect BMI anyway.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java19
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);
}