summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Storch <david.storch@mongodb.com>2020-02-13 14:42:31 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-22 03:14:46 +0000
commit460acb836445e42960346bdb95a83553db8df018 (patch)
treeda08f059ad1ce0e5b39b2b40367f114f41f1c070
parentb2d5432fdceaab0589fe6ca4eda24564515d58f9 (diff)
downloadmongo-460acb836445e42960346bdb95a83553db8df018.tar.gz
SERVER-46161 Increase number of PlanExecutor iterations before yielding to 1000.
The new behavior is for queries to yield every 10ms or 1000 iterations, whichever comes first. This change improves performance on many of our workloads, since yielding is expensive and happens more frequently than needed on those workloads.
-rw-r--r--jstests/noPassthrough/query_knobs_validation.js4
-rw-r--r--src/mongo/db/query/query_knobs.idl2
2 files changed, 3 insertions, 3 deletions
diff --git a/jstests/noPassthrough/query_knobs_validation.js b/jstests/noPassthrough/query_knobs_validation.js
index a6c0cba6b54..aa0c21f32f4 100644
--- a/jstests/noPassthrough/query_knobs_validation.js
+++ b/jstests/noPassthrough/query_knobs_validation.js
@@ -28,7 +28,7 @@ const expectedParamDefaults = {
internalQueryPlanOrChildrenIndependently: true,
internalQueryMaxScansToExplode: 200,
internalQueryMaxBlockingSortMemoryUsageBytes: 100 * 1024 * 1024,
- internalQueryExecYieldIterations: 128,
+ internalQueryExecYieldIterations: 1000,
internalQueryExecYieldPeriodMS: 10,
internalQueryFacetBufferSizeBytes: 100 * 1024 * 1024,
internalDocumentSourceCursorBatchSizeBytes: 4 * 1024 * 1024,
@@ -39,7 +39,7 @@ const expectedParamDefaults = {
internalQueryMaxPushBytes: 100 * 1024 * 1024,
internalQueryMaxAddToSetBytes: 100 * 1024 * 1024,
// Should be half the value of 'internalQueryExecYieldIterations' parameter.
- internalInsertMaxBatchSize: 64,
+ internalInsertMaxBatchSize: 500,
internalQueryPlannerGenerateCoveredWholeIndexScans: false,
internalQueryIgnoreUnknownJSONSchemaKeywords: false,
internalQueryProhibitBlockingMergeOnMongoS: false,
diff --git a/src/mongo/db/query/query_knobs.idl b/src/mongo/db/query/query_knobs.idl
index 9eaee626499..4b4fd4a852d 100644
--- a/src/mongo/db/query/query_knobs.idl
+++ b/src/mongo/db/query/query_knobs.idl
@@ -212,7 +212,7 @@ server_parameters:
set_at: [ startup, runtime ]
cpp_varname: "internalQueryExecYieldIterations"
cpp_vartype: AtomicWord<int>
- default: 128
+ default: 1000
internalQueryExecYieldPeriodMS:
description: "Yield if it's been at least this many milliseconds since we last yielded."