diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-12-13 14:48:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-13 14:48:46 +0100 |
commit | 25b13557673c406d573a874e51a6042f0f77e5cb (patch) | |
tree | b67a025457a5f9cdbdfa541e9d411dd3e445fb01 | |
parent | 3753569f574b4eec9c868a676dfe539e77929b80 (diff) | |
parent | 30fb29af138856d26d3f6b88d1eef5ace94587af (diff) |
Merge pull request #25243 from vespa-engine/balder/cap-total-number-of-search-threads-to-just-4x
Cap total number of search threads to num-cores *4 rounded up to clos…
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/search/NodeResourcesTuning.java | 2 | ||||
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/search/NodeResourcesTuningTest.java | 11 |
2 files changed, 11 insertions, 2 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 495395db71b..b6a7fb6182e 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 @@ -121,7 +121,7 @@ public class NodeResourcesTuning implements ProtonConfig.Producer { private void tuneRequestThreads(ProtonConfig.Builder builder) { int numCores = (int)Math.ceil(resources.vcpu()); - builder.numsearcherthreads(numCores*threadsPerSearch); + builder.numsearcherthreads(Math.min(((numCores*4 + threadsPerSearch - 1)/threadsPerSearch)*threadsPerSearch, numCores*threadsPerSearch)); builder.numsummarythreads(numCores); builder.numthreadspersearch(threadsPerSearch); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeResourcesTuningTest.java b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeResourcesTuningTest.java index d0fa205237e..a6d44d46dcb 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeResourcesTuningTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeResourcesTuningTest.java @@ -85,7 +85,7 @@ public class NodeResourcesTuningTest { } @Test - void require_that_num_search_threads_and_considers_explict_num_threads_per_search() { + void require_that_num_search_threads_considers_explict_num_threads_per_search() { ProtonConfig cfg = configFromNumCoresSetting(4.5, 3); assertEquals(15, cfg.numsearcherthreads()); assertEquals(5, cfg.numsummarythreads()); @@ -93,6 +93,15 @@ public class NodeResourcesTuningTest { } @Test + void require_that_num_search_threads_can_only_have_4x_overcommit_rounded_up_to_num_threads_per_search() { + ProtonConfig cfg = configFromNumCoresSetting(9, 8); + assertEquals(40, cfg.numsearcherthreads()); + assertEquals(9, cfg.numsummarythreads()); + assertEquals(8, cfg.numthreadspersearch()); + } + + + @Test void require_that_fast_disk_is_reflected_in_proton_config() { ProtonConfig cfg = configFromDiskSetting(true); assertEquals(200, cfg.hwinfo().disk().writespeed(), delta); |