diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-24 17:56:57 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-24 17:56:57 +0000 |
commit | 173ede072035371472460f740c55ef729db54cdd (patch) | |
tree | 073992a47a3043b676e6817863f641162f6ad03b /searchcore | |
parent | b1f88c1b2e948598edd083dd200fdcfad8c86c26 (diff) |
Add clarifying comments
Diffstat (limited to 'searchcore')
-rw-r--r-- | searchcore/src/tests/proton/documentdb/threading_service_config/threading_service_config_test.cpp | 7 | ||||
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/threading_service_config.cpp | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/searchcore/src/tests/proton/documentdb/threading_service_config/threading_service_config_test.cpp b/searchcore/src/tests/proton/documentdb/threading_service_config/threading_service_config_test.cpp index 20ec28929a1..37ac5f0d65c 100644 --- a/searchcore/src/tests/proton/documentdb/threading_service_config/threading_service_config_test.cpp +++ b/searchcore/src/tests/proton/documentdb/threading_service_config/threading_service_config_test.cpp @@ -1,12 +1,13 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/log/log.h> -LOG_SETUP("threading_service_config_test"); #include <vespa/searchcore/config/config-proton.h> #include <vespa/searchcore/proton/common/hw_info.h> #include <vespa/searchcore/proton/server/threading_service_config.h> #include <vespa/vespalib/testkit/testapp.h> +#include <vespa/log/log.h> +LOG_SETUP("threading_service_config_test"); + using namespace proton; using ProtonConfig = vespa::config::search::core::ProtonConfig; using ProtonConfigBuilder = vespa::config::search::core::ProtonConfigBuilder; @@ -42,7 +43,7 @@ TEST_F("require that indexing threads are set based on cpu cores and feeding con TEST_DO(f.assertIndexingThreads(3, 18)); TEST_DO(f.assertIndexingThreads(4, 19)); TEST_DO(f.assertIndexingThreads(4, 24)); - TEST_DO(f.assertIndexingThreads(4, 64)); + TEST_DO(f.assertIndexingThreads(4, 64)); // Ensure it is capped at 4 } TEST_F("require that indexing threads is always >= 1", Fixture(0)) diff --git a/searchcore/src/vespa/searchcore/proton/server/threading_service_config.cpp b/searchcore/src/vespa/searchcore/proton/server/threading_service_config.cpp index 07fb8fa102d..55aa1a20ef6 100644 --- a/searchcore/src/vespa/searchcore/proton/server/threading_service_config.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/threading_service_config.cpp @@ -22,6 +22,9 @@ namespace { uint32_t calculateIndexingThreads(uint32_t cfgIndexingThreads, double concurrency, const HwInfo::Cpu &cpuInfo) { + // We are capping at 12 threads to reduce cost of waking up threads + // to achieve a better throughput. + // TODO: Fix this in a simpler/better way. double scaledCores = std::min(12.0, cpuInfo.cores() * concurrency); uint32_t indexingThreads = std::max((uint32_t)std::ceil(scaledCores / 3), cfgIndexingThreads); return std::max(indexingThreads, 1u); |