diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-11-15 12:24:23 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-11-15 12:24:23 +0100 |
commit | 9b7255274a80ccc15224b224949443a103a1873b (patch) | |
tree | fa262c20fa5f88ffaeffd6a39bec84f213412276 /config-model | |
parent | a23595889559afbaa297b14e1b7e28e327a78bfd (diff) |
No readahead on mapped disk indexes when using ssd's
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java | 8 | ||||
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java | 10 |
2 files changed, 17 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java index f6f64eba482..b845b180548 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java @@ -5,7 +5,6 @@ import com.yahoo.config.provision.Flavor; import com.yahoo.vespa.config.search.core.ProtonConfig; import static java.lang.Long.min; -import static java.lang.Integer.max; /** * Tuning of proton config for a search node based on the node flavor of that node. @@ -31,6 +30,7 @@ public class NodeFlavorTuning implements ProtonConfig.Producer { tuneFlushStrategyTlsSize(builder.flush.memory); tuneSummaryReadIo(builder.summary.read); tuneSummaryCache(builder.summary.cache); + tuneSearchReadIo(builder.search.mmap); } private void tuneSummaryCache(ProtonConfig.Summary.Cache.Builder builder) { @@ -82,4 +82,10 @@ public class NodeFlavorTuning implements ProtonConfig.Producer { } } + private void tuneSearchReadIo(ProtonConfig.Search.Mmap.Builder builder) { + if (nodeFlavor.hasFastDisk()) { + builder.advise(ProtonConfig.Search.Mmap.Advise.RANDOM); + } + } + } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java index 3019b35cd2e..95503550767 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java @@ -87,6 +87,12 @@ public class NodeFlavorTuningTest { } @Test + public void require_that_search_read_mmap_advise_is_set_based_on_disk() { + assertSearchReadAdvise(ProtonConfig.Search.Mmap.Advise.RANDOM, true); + assertSearchReadAdvise(ProtonConfig.Search.Mmap.Advise.NORMAL, false); + } + + @Test public void require_that_summary_cache_max_bytes_is_set_based_on_memory() { assertEquals(1*GB/20, configFromMemorySetting(1).summary().cache().maxbytes()); assertEquals(256*GB/20, configFromMemorySetting(256).summary().cache().maxbytes()); @@ -115,6 +121,10 @@ public class NodeFlavorTuningTest { assertEquals(expValue, configFromDiskSetting(fastDisk).summary().read().io()); } + private static void assertSearchReadAdvise(ProtonConfig.Search.Mmap.Advise.Enum expValue, boolean fastDisk) { + assertEquals(expValue, configFromDiskSetting(fastDisk).search().mmap().advise()); + } + private static void assertSharedDisk(boolean sharedDisk, boolean docker) { assertEquals(sharedDisk, configFromEnvironmentType(docker).hwinfo().disk().shared()); } |