diff options
author | David Storch <david.storch@mongodb.com> | 2020-02-13 14:42:31 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-22 03:14:46 +0000 |
commit | 460acb836445e42960346bdb95a83553db8df018 (patch) | |
tree | da08f059ad1ce0e5b39b2b40367f114f41f1c070 | |
parent | b2d5432fdceaab0589fe6ca4eda24564515d58f9 (diff) | |
download | mongo-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.js | 4 | ||||
-rw-r--r-- | src/mongo/db/query/query_knobs.idl | 2 |
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." |