0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-30 00:56:44 +01:00

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.
This commit is contained in:
David Storch 2020-02-13 14:42:31 -05:00 committed by Evergreen Agent
parent b2d5432fdc
commit 460acb8364
2 changed files with 3 additions and 3 deletions

View File

@ -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,

View File

@ -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."