AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

自己管理型配置の MongoDB Server パラメーター

注意

MongoDB 8.0 で開始され、9.0 で継続されます。LDAP 認証と承認は非推奨です。LDAP は将来のリリースで削除される予定です。

その他の認証方法について学ぶには、「LDAP認証の代替手段」を参照してください。

MongoDB には、以下を使用して設定できる様々な構成オプションが用意されています。

  • setParameter コマンド:

    db.adminCommand( { setParameter: 1, <parameter>: <value> } )
  • setParameter構成設定。

    setParameter:
    <parameter1>: <value1>
    ...
  • mongod および mongos の --setParameter コマンドライン オプション。

    mongod --setParameter <parameter>=<value>
    mongos --setParameter <parameter>=<value>

追加の構成オプションについては、自己管理型構成ファイル オプション、 mongod 、およびmongosを参照してください。

allowRolesFromX509Certificates

mongod

デフォルト: true

クライアント X.509 証明書からの承認ロールの取得を許可または禁止します。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

authenticationMechanisms

mongod

デフォルト: MONGODB-X509,SCRAM-SHA-1,SCRAM-SHA-256

MongoDB 8.3 以降では、mongod --tlsFIPSMode または mongos --tlsFIPSMode が有効になっている場合、SCRAM-SHA-1 は有効なデフォルト設定から除外されます。

サーバーが受け入れる認証メカニズムの一覧を指定します。 これを、次の 1 つ以上の値に設定します。 複数の値を指定する場合は、スペースを入れずにコンマ区切りのリストを使用します。 認証メカニズムの説明については、「自己管理型配置での認証 」を参照してください。

値
説明

RFC5802 標準の Salted Challenge Response Authentication Mechanism。1

RFC7677 標準の Salted Challenge Response Authentication Mechanism。256

MongoDB TLS/SSL 証明書認証。

GSSAPI(Kerberos)

Kerberos を使用する外部認証。このメカニズムは MongoDB Enterprise でのみ使用できます。

PLAIN(LDAP SASL)

LDAP を使用する外部認証。データベース内のユーザー認証には、PLAIN を使用することもできます。PLAIN はパスワードをプレーン テキストで送信します。このメカニズムは MongoDB Enterprise でのみ使用できます。

OpenID Connect は、OAuth2 上にビルドされた認証レイヤーです。このメカニズムは MongoDB Enterprise でのみ使用できます。

Starting in MongoDB 8.3, you cannot specify SCRAM-SHA-1 for authenticationMechanisms while also specifying mongod --tlsFIPSMode or mongos --tlsFIPSMode.

--tlsFIPSMode も指定しているときに authenticationMechanisms に SCRAM-SHA-1 を指定しようとすると、サーバーはエラーをスローし、次のようなメッセージをログに記録します。

SCRAM-SHA-1 is not allowed in FIPS mode.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

たとえば、認証メカニズムとして PLAIN と SCRAM-SHA-256 の両方を指定するには、次のコマンドを使用します。

mongod --setParameter authenticationMechanisms=PLAIN,SCRAM-SHA-256 --auth
authFailedDelayMs

mongod

デフォルト: 0

注意

エンタープライズ機能

MongoDB Enterprise でのみ使用できます。

認証が失敗したことをクライアントに通知するまでに待機するミリ秒数。このパラメーターの範囲は 0 から 5000(両端を含む)です。

このパラメーターを設定すると、データベースに対するブルートフォースログイン攻撃にかかる時間が長くなります。ただし、MongoDB サーバーからの応答を待っているクライアントは引き続きサーバーのリソースを消費するため、サーバーが同時に他の多くのクライアントへのアクセスを拒否している場合は、正常なログイン試行に悪影響を与える可能性があります。

awsSTSRetryCount

バージョン7.0の変更:(6.0.7および5.0.18以降でも開始)

以前のバージョンでは、AWS IAM 認証は、サーバーが HTTP 500 エラーを返した場合にのみ再試行されていました。

mongod

タイプ: 整数

デフォルト: 2

Amazon Web Services IAM 認証情報 または Amazon Web Services IAM 環境変数 を使用してMongoDB を配置する場合。

接続失敗後の AWS IAM 認証の最大再試行回数。

The following example sets awsSTSRetryCount to 15 retries:

mongod --setParameter awsSTSRetryCount=15

Alternatively, the following examples uses the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, awsSTSRetryCount: 15 } )
clusterAuthMode

mongod

clusterAuthMode に sendX509 または x509 を設定します。ローリング アップグレード中にメンバーシップ認証に x509 を使用するとダウンタイムを最小限に抑えるために役立ちます。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 暗号化用に MongoDB インスタンスを構成する」および「TLS 対応のレプリカセットに接続する」を参照してください。

このパラメーターは実行時にのみ使用できます。 パラメーターを設定するには、 setParameterコマンドを使用します。

db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )
enableLocalhostAuthBypass

mongod

デフォルト: true

ローカルホスト認証バイパスを無効にするには、 0 または false を指定します。デフォルトでは有効になっています。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

詳細については、「自己管理型配置での Localhost 例外」を参照してください。

enforceUserClusterSeparation

mongod

構成ファイルでclusterAuthModeがkeyFileである場合にO/OU/DCチェックを無効にするには、 falseに設定します。 これにより、メンバー証明書を持つクライアントは、 $externalデータベースに保存されているユーザーとして認証できるようになります。 構成ファイルでclusterAuthModeがkeyFileでない場合、サーバーは起動しません。

enforceUserClusterSeparationパラメータをfalseに設定するには、起動時に次のコマンドを実行します。

mongod --setParameter enforceUserClusterSeparation=false
JWKSMinimumQuiescePeriodSecs

mongod

デフォルト : 60 秒(1 分)

特定の IdP の JWKSetURI エンドポイントの後続の取得の間に渡す必要がある最小時間間隔を指定します。RSA公開キーが休止期間内に複数回変更された場合、休止期間を手動で短縮しない限り、そのキーは最大 1 分間、期待どおりに動作しない可能性があります。このパラメーターをゼロに設定すると、休止期間がなく、キーを繰り返し更新できます。

このパラメーターは、スタートアップと実行時に両方で使用できます。パラメーターを設定するには、setParameter 設定を使用します。

KeysRotationIntervalSec

mongod

デフォルト:7776000 秒(90 日)

HMAC 署名鍵 が次の鍵にローテーションするまで有効な秒数を指定します。このパラメータは主に認証テストを容易にすることを目的としています。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

ldapConnectionPoolHostRefreshIntervalMillis

mongod

デフォルト: 60000

プールされたLDAP接続のヘルスチェック間隔(ミリ秒単位)。

You can only set ldapConnectionPoolHostRefreshIntervalMillis during start-up, and cannot change this setting with the setParameter database command.

ldapConnectionPoolIdleHostTimeoutSecs

mongod

デフォルト: 300

LDAPサーバーにプールされた接続がクローズされるまでにアイドル状態を維持できる最大時間(秒)。

You can only set ldapConnectionPoolIdleHostTimeoutSecs during start-up, and cannot change this setting with the setParameter database command.

ldapConnectionPoolMaximumConnectionsInProgressPerHost

mongod

MongoDB バージョン5.0 9および6.0.0以降で変更デフォルト値を 2に変更しました。以前のバージョンのデフォルトは未設定です。

デフォルト: 2

各 LDAP サーバーに対して進行中の接続操作の最大数。

You can only set ldapConnectionPoolMaximumConnectionsInProgressPerHost during start-up, and cannot change this setting with the setParameter database command.

ldapConnectionPoolMaximumConnectionsPerHost

mongod

MongoDB バージョン5.0 9および6.0.0以降で変更デフォルト値を 2147483647に変更しました。以前のバージョンのデフォルトは未設定です。

デフォルト: 2147483647

各 LDAP サーバーに対して開始したままにしておく接続の最大数。

You can only set ldapConnectionPoolMaximumConnectionsPerHost during start-up, and cannot change this setting during run time with the setParameter database command.

ldapConnectionPoolMinimumConnectionsPerHost

mongod

デフォルト: 1

各 LDAP サーバーに対して開始したままにしておく接続の最小数。

You can only set ldapConnectionPoolMinimumConnectionsPerHost during start-up, and cannot change this setting during run time with the setParameter database command.

ldapConnectionPoolUseLatencyForHostPriority

mongod

デフォルト: true

A boolean that determines whether the LDAP connection pool (see ldapUseConnectionPool) should use latency of the LDAP servers to determine the connection order (from lowest latency to highest).

You can only set ldapConnectionPoolUseLatencyForHostPriority during start-up, and cannot change this setting during run time with the setParameter database command.

ldapForceMultiThreadMode

mongod

デフォルト: false

同時 LDAP 操作のパフォーマンスを有効にします。

注意

libldap のインスタンスがこのモードで安全に使用できることが確実な場合にのみ、このフラグを有効にしてください。使用している libldap バージョンがスレッドセーフでない場合、MongoDB プロセスがクラッシュする可能性があります。

You must use ldapForceMultiThreadMode to use LDAP connection pool. To enable LDAP connection pool, set ldapForceMultiThreadMode and ldapUseConnectionPool to true.

Tip

MongoDB のバージョン、OS のバージョン、または libldap のバージョンに関して悱虑がある場合は、MongoDB サポートにお問い合わせください。

ldapQueryPassword

mongod

型: string

The password used to bind to an LDAP server. You must use ldapQueryUser with this parameter.

設定されていない場合、mongod または mongos は LDAP サーバーにバインドしません。

ldapQueryUser

mongod

型: string

The user that binds to an LDAP server. You must use ldapQueryPassword with this parameter.

設定されていない場合、mongod または mongos は LDAP サーバーにバインドしません。

ldapRetryCount

バージョン6.1の新機能。

mongod

タイプ: 整数

デフォルト: 0

自己管理型配置で LDAP 認証を使用する MongoDB 配置の場合。

ネットワーク エラーが発生した場合にサーバー LDAP マネージャーによって再試行される操作の回数。

このパラメーターは実行時にのみ使用できます。 パラメーターを設定するには、 setParameterコマンドを使用します。

スタートアップ時に再試行回数を設定するには、security.ldap.retryCount 構成ファイル オプションを使用します。

For example, the following sets ldapRetryCount to 3:

db.adminCommand( { setParameter: 1, ldapRetryCount: 3 } )
ldapShouldRefreshUserCacheEntries

バージョン5.2の新機能。

mongod

タイプ: ブール値

デフォルト: true

自己管理型配置で LDAP 認証を使用する MongoDB 配置の場合。

Starting in MongoDB 5.2, the update interval for cached user information retrieved from an LDAP server depends on ldapShouldRefreshUserCacheEntries:

You can only set ldapShouldRefreshUserCacheEntries during startup in the configuration file or with the --setParameter option on the command line. For example, the following disables ldapShouldRefreshUserCacheEntries:

mongod --setParameter ldapShouldRefreshUserCacheEntries=false
ldapUseConnectionPool

mongod

MongoDB が認証および承認のために LDAP サーバーに接続するときに接続プーリングを使用するかどうかを指定します。

MongoDB では、次のデフォルト値が使用されます。

  • Windows では true

  • MongoDB Enterprise バイナリが libldap_r にリンクされている Linux では true。

  • MongoDB Enterprise バイナリが libldap にリンクされている Linux では false。

You can only set ldapUseConnectionPool during start-up, and cannot change this setting with the setParameter database command.

ldapUserCacheInvalidationInterval

バージョン5.2で変更。

mongod

デフォルト: 30 秒

注意

Starting in MongoDB 5.2, the update interval for cached user information retrieved from an LDAP server depends on ldapShouldRefreshUserCacheEntries:

自己管理型配置で LDAP 認証を使用する MongoDB 配置で使用します。

mongodインスタンスが外部ユーザー キャッシュのフラッシュ間で待機する間隔(秒単位)。MongoDB が外部ユーザー キャッシュをフラッシュした後、次に LDAP で承認されたユーザーが操作を発行するときに、MongoDB は LDAP サーバーから承認データを再取得する必要があります。

指定する値を大きくすると、MongoDB と LDAP サーバーが同期するまでの間隔が長くなりますが、LDAP サーバーの負荷は軽減されます。逆に、指定する値を小さくすると、MongoDB と LDAP サーバーが同期するまでの感覚は短くなりますが、LDAP サーバーの負荷は増加します。

ldapUserCacheRefreshInterval

バージョン5.2の新機能。

mongod

タイプ: 整数

デフォルト: 30 秒

注意

Starting in MongoDB 5.2, the update interval for cached user information retrieved from an LDAP server depends on ldapShouldRefreshUserCacheEntries:

自己管理型配置で LDAP 認証を使用する MongoDB 配置の場合。

mongodが LDAP サーバーからキャッシュしたユーザー情報を更新するまでの間隔(秒単位)。

最大間隔は 86,400 秒(24 時間)です。

For example, the following sets ldapUserCacheRefreshInterval to 4000 seconds:

mongod --setParameter ldapUserCacheRefreshInterval=4000

Or, if using the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, ldapUserCacheRefreshInterval: 4000 } )
ldapUserCacheStalenessInterval

バージョン5.2の新機能。

mongod

タイプ: 整数

デフォルト: 90 秒

自己管理型配置で LDAP 認証を使用する MongoDB 配置の場合。

最後にキャッシュを更新したあとに mongod がキャッシュされた LDAP ユーザー情報を保持する間隔(秒単位)。

If more than ldapUserCacheStalenessInterval seconds elapse without a successful refresh of the user information from the LDAP server, then mongod:

  • キャッシュされた LDAP ユーザー情報を無効にします。

  • mongod が LDAP サーバーに接続して LDAP ユーザーを承認するまで、LDAP ユーザーの新しいセッションを認証できません。

  • mongodが LDAP サーバーに接続できない場合、過去に認証された LDAP ユーザーを使用する既存のセッションを承認します。mongod が LDAP サーバーに再接続すると、mongod は LDAP ユーザーが正しく承認されていることを確認します。

最大間隔は 86,400 秒(24 時間)です。

For example, the following sets ldapUserCacheStalenessInterval to 4000 seconds:

mongod --setParameter ldapUserCacheStalenessInterval=4000

Or, if using the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, ldapUserCacheStalenessInterval: 4000 } )
maxValidateMemoryUsageMB

mongod

バージョン 5.0 の新機能。

デフォルト: 200

validateコマンドのメモリ使用上限(メガバイト)。上限を超えた場合、validate は可能な限り多くの結果を返し、制限によりすべての破損が報告されない可能性があることを警告します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

ocspEnabled

mongod

Linux および macOS で利用できます。

デフォルト: true

OCSP を有効または無効にするフラグです。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

たとえば、次の例では OCSP が無効になります。

mongod --setParameter ocspEnabled=false ...

Starting in MongoDB 6.0, if ocspEnabled is set to true during initial sync, all nodes must be able to reach the OCSP responder.

If a member fails in the STARTUP2 state, set tlsOCSPVerifyTimeoutSecs to a value that is less than 5.

ocspStaplingRefreshPeriodSecs

mongod

Linuxで利用できます。

ステープリングされた OCSP ステータス応答をリフレッシュする前に待機する時間(秒単位)。1 以上の数値を指定します。

You can only set ocspStaplingRefreshPeriodSecs during startup in the configuration file or with the --setParameter option on the command line. For example, the following sets the parameter to 3600 seconds:

mongod --setParameter ocspStaplingRefreshPeriodSecs=3600 ...

MongoDB 5.0 以降では、rotateCertificates コマンドと db.rotateCertificates() メソッドによって、ステープリングされた OCSP 応答もリフレッシュされます。

oidcIdentityProviders

mongod

バージョン 8.0 での変更: (7.3 および 7.0 でも利用可能)

OpenID Connect 認証 を使用する場合、このパラメータを使用して IdP 構成を指定します。

oidcIdentityProviders は、0 個以上の IdP 構成の配列を受け入れます。空の配列(デフォルトは)は、OpenID Connect サポートが有効になっていないことを示します。

複数の IdP が定義されている場合、 oidcIdentityProviders は matchPattern フィールドを使用して IdP を選択します。配列の順序が優先順位を決定するので、常に最初のIDPが選択されます。

Starting in MongoDB 8.0, when multiple IdPs are defined, the oidcIdentityProviders parameter accepts duplicate issuer values as long as the audience value is unique for each issuer. This is also available in versions 7.3 and 7.0.

フィールド
必要性
タイプ
説明

issuer

必須

string

サーバーがトークンを受け入れるべき IdP の発行者 URI。これは、認証に使用されるすべての JWT の iss フィールドと一致する必要があります。

Starting in MongoDB 8.0, when multiple IdPs are defined, the oidcIdentityProviders parameter accepts duplicate issuer values as long as the audience value is unique for each issuer. This is also available in versions 7.3 and 7.0.

到達不能な発行者 URI を指定すると、MongoDB は次の処理を実行します。

  1. 警告をログに記録します。

  2. サーバーの起動を続行します。これにより、発行者 URI を更新できます。

  3. 発行者への接続を再試行します。MongoDB が発行者 URI に到達し、アクセス トークンを検証すると、認証は成功します。発行者 URI に到達できない状態の場合、認証は失敗します。

バージョン8.0での変更:

(7.3 と 7.0 でも利用可能)

authNamePrefix

必須

string

生成された UserName と RoleName に適用される承認用の一意のプレフィックス。authNamePrefix には、次の文字のみを含めることができます。

  • 英数字(a ~ z と 0 ~ 9 の組み合わせ)

  • ハイフン(-)

  • アンダースコア(_)

matchPattern

条件付き

string

どのIdPを使用するかを決定するために使用する正規表現パターン。matchPattern がユーザー名と一致します。配列の順序が優先順位を決定するので、常に最初のIDPが選択されます。

matchPattern が一部の構成では必須となり、ユーザーがsupportsHumanFlowsをどのように設定するかに応じて決まります。

  • 1 つの IdP のみでsupportsHumanFlows が true(デフォルト)に設定されている場合、matchPatterns は任意です。

  • 複数の IdP でsupportsHumanFlows が true(デフォルト)に設定されている場合、それぞれに対して matchPatterns が必要です。

  • matchPatterns は、supportsHumanFlows が false に設定されているすべての IdP で任意です。

これはセキュリティの仕組みではありません。matchPattern は顧客への助言としてのみ機能します。MongoDBは、このパターンに一致しないプリンシパル名の IdP が発行したトークンを受け入れます。

clientId

条件付き

string

アクセス トークンを受信するクライアントを識別するために IdP によって提供される ID。

supportsHumanFlows にtrue(デフォルト)が設定されている場合に必須です。

audience

必須

string

アクセス トークンの対象となるアプリケーションまたはサービスを指定します。

MongoDB 7.0以降、 OIDC アクセス トークンには、 audience oidcIdentityProviders フィールドのみを指定できます。 空の配列または複数の文字列の配列を持つaudienceフィールドは無効です。

複数の IdP が定義されている場合、これは issuer を共有する構成ごとに一意の値である必要があります。

requestScopes

任意

array[ string ]

MongoDB が IdP に要求するパーミッションとアクセスレベル。

IMPORTANT: By default, clients such as Compass and mongosh request the oidc and offline_access scopes from the IdP. If the IdP supports neither oidc nor offline_access, the client doesn't request them. If the IdP supports oidc but not offline_access, you must re-authenticate frequently.

principalName

任意

string

MongoDB ユーザー識別子を含むアクセス トークンから抽出されるクレーム。

デフォルト値は sub(subject を表す)です。

useAuthorizationClaim

任意

ブール値

authorizationClaimが必要かどうかを判断します。 デフォルト値はtrueです。

useAuthorizationClaimフィールドが true に設定されている場合、サーバーはIdP の構成に authorizationClaim が必要です。これはデフォルトの動作です。

useAuthorizationClaim フィールドに false が設定されている場合、authorizationClaim フィールドは任意(存在した場合は無視)です。代わりに、サーバーは次の処理を行います。

  • principalNameClaim フィールドに名前が一覧化されているクレームをトークンから検索します。通常、これには sub という名前がついています。たとえば次のとおりです。

    sub: "spencer.jackson@example.com"

  • authNamePrefix、フォワードスラッシュ(/)、アクセストークン内の principalNameClaim で識別されるクレームの内容を連結して、内部ユーザー名を作成します。たとえば、authNamePrefix フィールドの値が「mdbinc」の場合、内部ユーザー名は次のようになります。

    mdbinc/spencer.jackson@example.com

  • このユーザー名を持つユーザーを検索し、クライアントにロールを承認します。

    { user: "mdbinc/spencer.jackson@example.com",
    db: "$external" }

バージョン 7.2 の新機能:

(7.0.5 でも利用可能)

authorizationClaim

条件付き

string

useAuthorizationClaim に false が設定されていない場合は必須です。

MongoDB ロール名を含むアクセス トークンから抽出されたクレーム。

logClaims

任意

array[ string ]

認証完了時にログおよび監査メッセージに含めるアクセス トークン クレームのリスト。

JWKSPollSecs

任意

integer

更新された JWKS( JSON Web Key Set)をIdP からリクエスト頻度(秒単位)。0 を設定すると、ポーリングは無効になります。

複数の IdP が定義されている場合、これは issuer を共有する構成ごとに同じ値である必要があります。

supportsHumanFlows

任意

ブール

OIDC プロバイダーが人間のワークフローまたは機械のワークフローをサポートするか。これは、clientId フィールドと matchPattern フィールドに影響します。

マシンワークロードIdP でこのフィールドに false を設定して、不要な場合に clientId を省略できるようにすると便利な場合があります。

デフォルト: true 。

バージョン7.2の新機能。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

opensslCipherConfig

mongod

Linux でのみ利用可能です。

With the use of native TLS/SSL libraries, the parameter opensslCipherConfig is supported for Linux/BSD and no longer supported in Windows and macOS.

TLS/SSL暗号化を使用する場合は、OpenSSL の暗号文字列を指定します。 暗号文字列のリストについては、 https://www.openssl.org/docs/man1.1.1 /man1 /ciphers.html を参照してください。複数の暗号文字列をコロン区切りのリストとして提供できます。

注意

This parameter is only for use with TLS 1.2 or earlier. To specify cipher suites for use with TLS 1.3, use the opensslCipherSuiteConfig parameter.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

The use of TLS options is preferred over SSL options. The TLS options have the same functionality as the SSL options. The following example configures a mongod with a opensslCipherConfig cipher string of 'HIGH:!EXPORT:!aNULL@STRENGTH':

mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL@STRENGTH' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslCipherSuiteConfig

mongod

バージョン 5.0 の新機能。

Linux でのみ利用可能です。

TLS 1.3 暗号化を使用するときに OpenSSL が許可する、サポート対象の暗号スイートのリストを指定します。

TLS で使用する暗号スイートのリストについては、1.3 https://www.opensl.org/docs/man1.1.1 /man3 /SSL_CTX_set_cipher_list.html を参照してください。複数の暗号スイートは、コロン区切りのリストとして提供できます。

注意

This parameter is only for use with TLS 1.3. To specify cipher strings for use with TLS 1.2 or earlier, use the opensslCipherConfig parameter.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, the following configures a mongod with a opensslCipherSuiteConfig cipher suite of 'TLS_AES_256_GCM_SHA384' for use with TLS 1.3:

mongod --setParameter opensslCipherSuiteConfig='TLS_AES_256_GCM_SHA384' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslDiffieHellmanParameters

mongod

Linux でのみ利用可能です。

TLS 1.2 以前を使用する場合は、OpenSSL ディフィー ヘルマン パラメータを含む PEM ファイルに対するパスを指定します。OpenSSL ディフィー ヘルマン パラメータを指定すると、TLS/SSL 暗号化中にエフェメラル ディフィー ヘルマン(DHE)暗号スイートのサポートが有効になります。

TLS 1.3 では、このパラメータの使用はサポートされていません。

エフェメラル ディフィー ヘルマン(DHE)暗号スイート(およびエフェメラル楕円曲線ディフィー ヘルマン(ECDHE)暗号スイート)では、フォワード シークレシーが提供されます。フォワード シークレシー暗号スイートは、サーバーの秘密キーで保護されているが送信されない一時的なセッション鍵を作成します。これにより、サーバーの秘密キーが侵害された場合でも、侵害された鍵で過去のセッションを復号化することはできません。

注意

opensslDiffieHellmanParametersが設定されていないが ECDHE が有効になっている場合、 MongoDBffdhe3072 はRFC-7919 #appendix-A.2 ffdhe3072で定義されているように、 ディフィー ヘルマン パラメータを使用して DHE1024 を有効にします。 は強力なパラメータです(具体的には、サイズが より大きい場合)。6 7Oracleから延長サポートを購入しない限り、 Java および ではサポートされていません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

If for performance reasons, you need to disable support for DHE cipher suites, use the opensslCipherConfig parameter:

mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL:!DHE:!kDHE@STRENGTH' ...
pessimisticConnectivityCheckForAcceptedConnections

Linux でのみ利用可能です。

タイプ: ブール値

デフォルト: false

true に設定すると、サーバーは受け入れた接続を処理する前にその接続の有効性を確認し、クライアント側で終了された接続を即座に破棄するよう指示します。

このパラメーターを小さいインスタンス タイプで有効にすることを検討してください。新しい接続確立時のレイテンシをわずかに犠牲にしてでも、すでにクライアント側で閉じられた接続の処理にかかるサーバー負荷を軽減したい場合に使用できます。

saslauthdPath

mongod

注意

MongoDB Enterprise でのみ利用可能です(MongoDB Enterprise for Windows を除く)。

プロキシ認証に使用する saslauthd インスタンスの Unix ドメイン ソケットへのパスを指定します。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

saslHostName

mongod

saslHostName は、SASL および Kerberos 認証を構成するために、MongoDB のデフォルトのホスト名検出を上書きします。

saslHostName does not affect the hostname of the mongod or mongos instance for any purpose beyond the configuration of SASL and Kerberos.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

注意

saslHostName は、Kerberos 認証をサポートしており、MongoDB Enterprise にのみ含まれています。詳細については、以下を参照してください。

saslServiceName

mongod

ユーザーがインスタンスごとに、Kerberos プリンシパル名のデフォルトの Kerberos サービス名コンポーネントを上書きできるようにします。指定しない場合、デフォルト値は mongodb です。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

saslServiceName は MongoDB Enterprise でのみ利用可能です。

重要

ドライバーが代替サービス名をサポートしていることを確認します。

scramIterationCount

mongod

デフォルト: 10000

すべての新しい SCRAM-SHA-1 パスワードに使用されるハッシュ反復回数を変更します。反復回数を増やすと、クライアントが MongoDB への認証に必要な時間は長くなりますが、パスワードはブルートフォース攻撃の影響を受けにくくなります。デフォルト値は、最も一般的なユースケースと要件に最適です。

If you modify this value, it does not change the iteration count for existing passwords. The scramIterationCount value must be 5000 or greater.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

For example, the following sets the scramIterationCount to 12000.

mongod --setParameter scramIterationCount=12000

Or, if using the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, scramIterationCount: 12000 } )
scramSHA256IterationCount

mongod

デフォルト: 15000

すべての新しい SCRAM-SHA-256 パスワードに使用されるハッシュ反復回数を変更します。反復回数を増やすと、クライアントが MongoDB への認証に必要な時間は長くなりますが、パスワードはブルートフォース攻撃の影響を受けにくくなります。デフォルト値は、最も一般的なユースケースと要件に最適です。

If you modify this value, it does not change iteration count for existing passwords. The scramSHA256IterationCount value must be 5000 or greater.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

For example, the following sets the scramSHA256IterationCount to 20000.

mongod --setParameter scramSHA256IterationCount=20000

Or, if using the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, scramSHA256IterationCount: 20000 } )
sslMode

mongod

net.ssl.mode に preferSSL または requireSSL を設定します。TLS/SSL へのローリング アップグレード中に、ダウンタイムを最小限に抑えるために役立ちます。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 暗号化用に MongoDB インスタンスを構成する」および「TLS 対応のレプリカセットに接続する」を参照してください。

このパラメーターは実行時にのみ使用できます。 パラメーターを設定するには、 setParameterコマンドを使用します。

db.adminCommand( { setParameter: 1, sslMode: "preferSSL" } )
tlsClusterAuthX509Override

mongod

バージョン7.0の新機能。

clusterAuthX509 構成オプションを上書きします。

setParameter:
tlsClusterAuthX509Override: "{ attributes: 'O=MongoDB, OU=MongoDB Server' }"

このパラメーターは attributes および extensionValue の上書きサポートします。

When the server authenticates connections from members, it analyzes the X.509 certificate to determine whether it belongs to a cluster member. If the server uses the attributes setting or the attributes field on the tlsClusterAuthX509Override parameter, it checks the Distinguished Name (DN) values of the certificate. If the extensionValue setting or the extensionValue field of the tlsClusterAuthX509Override parameter is set, it checks the extension values of the certificate. If it finds a match, it authorizes the connection as a peer.

このパラメーターを使用して、新しい証明書の属性または拡張値が異なる場合に証明書をローテーションします。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

tlsMode

mongod

次のいずれかに設定します。

  • preferTLS

  • requireTLS

Use the tlsMode parameter during rolling upgrade to TLS/SSL to minimize downtime.

このパラメーターは実行時にのみ使用できます。 パラメーターを設定するには、 setParameterコマンドを使用します。

db.adminCommand( { setParameter: 1, tlsMode: "preferTLS" } )

TLS/SSL と MongoDB の詳細については、「TLS/SSL 暗号化用に MongoDB インスタンスを構成する」および「TLS 対応のレプリカセットに接続する」を参照してください。

tlsOCSPStaplingTimeoutSecs

mongod

Linuxで利用できます。

mongod インスタンスまたは mongos インスタンスが証明書の OCSP ステータス応答を受信するまでに待機する最大秒数。

Specify an integer greater than or equal to (>=) 1. If unset, tlsOCSPStaplingTimeoutSecs uses the tlsOCSPVerifyTimeoutSecs value.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, the following sets the tlsOCSPStaplingTimeoutSecs to 20 seconds:

mongod --setParameter tlsOCSPStaplingTimeoutSecs=20 ...
tlsOCSPVerifyTimeoutSecs

mongod

Linux および Windows で利用できます。

デフォルト: 5

サーバー証明書を検証するときに、mongod または mongos が OCSP 応答を待機する最大秒数。

1 以上(>=)の整数を指定します。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, the following sets the tlsOCSPVerifyTimeoutSecs to 20 seconds:

mongod --setParameter tlsOCSPVerifyTimeoutSecs=20 ...
tlsUseSystemCA

mongod

タイプ: ブール値

デフォルト: false

MongoDB がオペレーティング システムの証明機関で既に使用可能な TLS 証明書をロードするかどうかを指定します。

重要

When starting a mongod instance with TLS/SSL enabled, you must specify a value for the --tlsCAFile flag, the net.tls.CAFile configuration option, or the tlsUseSystemCA parameter.

--tlsCAFile、tls.CAFile、tlsUseSystemCA は、すべて相互に排他的です。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

たとえば、 tlsUseSystemCAをtrueに設定するには、次の操作を実行します。

mongod --setParameter tlsUseSystemCA=true

TLS/SSL と MongoDB の詳細については、「TLS/SSL 暗号化用に MongoDB インスタンスを構成する」および「TLS 対応のレプリカセットに接続する」を参照してください。

tlsWithholdClientCertificate

mongod

デフォルト: false

TLS 証明書は、mongod または mongos に対して、--tlsClusterFileオプションによって、または--tlsClusterFile が設定されていない場合は --tlsCertificateKeyFileオプションによって設定されます。TLS 証明書が設定されている場合、デフォルトでは、インスタンスは配置内の他の mongod インスタンスまたは mongos インスタンスとのクラスター内通信を開始するときに証明書を送信します。tlsWithholdClientCertificate に 1 または true を設定すると、これらの通信中に TLS 証明書の送信を保留するようにインスタンスに指示します。このオプションを、(証明書なしでインバウンド接続を許可する場合に)配置のすべてのノードで --tlsAllowConnectionsWithoutCertificatesとともに使用します。tlsWithholdClientCertificate と --clusterAuthMode x509 は排他関係にあります。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

tlsX509ClusterAuthDNOverride

mongod

インスタンスが配置のノードを識別するためにも使用できるDN(Distinguished Name、代替識別名)。

clusterAuthMode に X.509 証明書を使用するMongoDBデプロイでは、デプロイメント ノードは、クラスター内通信中に X.509 証明書(指定されている場合は net.tls.clusterFile 、および net.tls.certificateKeyFile )を使用して相互を識別します。同じ配置のノードの場合、証明書の DN は、組織属性(O )、組織単位属性(OU )、およびドメインコンポーネント(DC の)。

If tlsX509ClusterAuthDNOverride is set for a member, the member can also use the override value when comparing the DN components (O's, OU's, and DC's) of the presented certificates. That is the member checks the presented certificates against its net.tls.clusterFile/net.tls.certificateKeyFile. If the DN does not match, the member checks the presented certificate against the tlsX509ClusterAuthDNOverride value.

注意

設定されている場合配置のすべてのノードにこのパラメーターを設定する必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

このパラメータを使用して、新しい DN 値を含む新しい証明書に、証明書のローリング更新を実行できます。クラスターAuthX のないクラスターでの証明書のローテーションについては、「 クラスターAuthX509 のないクラスターでの証明書のローテーション」を参照してください。

メンバーシップ証明書要件の詳細については、「メンバー証明書の要件」を参照してください。

tlsX509ExpirationWarningThresholdDays

mongod

デフォルト : 30

mongod / mongos logs a warning on connection if the presented X.509 certificate expires within 30 days of the mongod/mongos system clock. Use the tlsX509ExpirationWarningThresholdDays parameter to control the certificate expiration warning threshold:

  • 証明書の有効期限よりもかなり前に警告を発報するには、パラメーターの値を大きくします。

  • 証明書の有効期限が近づくと警告を発報するには、パラメーター値を小さくします。

  • 警告を無効にするには、パラメーターに 0 を設定します。

このパラメーターの最小値は 0 です。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

X.509 証明書の有効性の詳細については、 RFC52804.1.2.5 を参照してください。

useInternalAuthzForX509

mongod

デフォルト: false

バージョン9.0の新機能。

true に設定すると、X.509 証明書を使用して認証するクライアントは、LDAP 認証が構成されている場合でも、常に内部承認を使用します。

false に設定すると、LDAP が有効な場合、MongoDB は X.509 認証ユーザーに対して LDAP 認証を使用します。LDAP が有効になっていない場合、この設定に関係なく内部承認が使用されます。

このパラメータは X.509 認証にのみ影響します。他の認証メカニズムに影響はありません。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

userCacheInvalidationIntervalSecs

mongos

デフォルト: 30

mongos インスタンスでは、mongos インスタンスがユーザー オブジェクトのメモリ内キャッシュに古いデータがあるかどうかを確認し、古いデータがある場合はキャッシュをクリアする間隔(秒単位)を指定します。ユーザー オブジェクトに変更がない場合、 mongos はキャッシュをクリアしません。

このパラメーターの最小値は 1 秒、最大値は 86400 秒(24 時間)です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

allowDiskUseByDefault

mongod

デフォルト: True

実行に 100 MB を超えるメモリを必要とするパイプライン ステージは、デフォルトで一時ファイルをディスクに書き込みます。これらの一時ファイルはパイプラインの実行中ずっと残り、インスタンスのストレージ容量に影響を与える可能性があります。

Individual find and aggregate commands can override the allowDiskUseByDefault parameter by either:

  • allowDiskUseByDefaultが false に設定されている場合に { allowDiskUse: true } を使用して一時ファイルをディスクに書き込むことを許可する

  • allowDiskUseByDefault が true に設定されている場合に { allowDiskUse: false } を使用して一時ファイルがディスクに書き込むことを禁止する

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

mongod --setParameter allowDiskUseByDefault=false

allowDiskUseByDefault only works on mongod not mongos. mongos never writes temporary files to disk. Use the setParameter command in a mongosh session that is connected to a running mongod to change the value of the parameter while the server is running:

db.adminCommand(
{
setParameter: 1,
allowDiskUseByDefault: false
}
)
capMemoryConsumptionForPreAuthBuffers

バージョン 8.3 の新機能: (8.2.4 以降でも使用可能)8.0.18、および 7.0.29)

mongod

タイプ: Int

デフォルト: 20

接続の事前認証バッファに割り当てる合計メモリの最大パーセンテージを指定します。パラメータを 100 に設定すると、この制限が無効になります。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

次の操作では、capMemoryConsumptionForPreAuthBuffers に 30 を設定します。

mongod --setParameter capMemoryConsumptionForPreAuthBuffers=30
connPoolMaxConnsPerHost

mongod

デフォルト: 200

Sets the maximum size of the legacy connection pools for outgoing connections to other mongod instances in the global connection pool. The size of a pool does not prevent the creation of additional connections, but does prevent a connection pool from retaining connections in excess of the value of connPoolMaxConnsPerHost.

注意

The parameter is separate from the connections in TaskExecutor pools. See ShardingTaskExecutorPoolMaxSize.

ドライバーが接続をプールせず、シャーディングされたクラスターのコンテキストで認証を使用している場合にのみ、この設定を調整してください。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

mongod --setParameter connPoolMaxConnsPerHost=250
connPoolMaxInUseConnsPerHost

mongod

レガシー グローバル接続プール内の他の mongod インスタンスへの送信接続について、常に使用中の接続の最大数を設定します。

デフォルトでは、このパラメータは設定されていません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

mongod --setParameter connPoolMaxInUseConnsPerHost=100
cursorTimeoutMillis

mongod

デフォルト:600000(10分)

Sets the expiration threshold in milliseconds for idle cursors before MongoDB removes them; specifically, MongoDB removes cursors that have been idle for the specified cursorTimeoutMillis.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

For example, the following sets the cursorTimeoutMillis to 300000 milliseconds (5 minutes).

mongod --setParameter cursorTimeoutMillis=300000

Or, if using the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, cursorTimeoutMillis: 300000 } )

Setting cursorTimeoutMillis to less than or equal to 0 results in all cursors being immediately eligible for timeout. Generally, the timeout value should be greater than the average amount of time for a query to return results. Use tools like the cursor.explain() cursor modifier to analyze the average query time and select an appropriate timeout period.

警告

MongoDB は、孤立したカーソルを cursorTimeoutMillis のしきい値を超えた後にクリーンアップします(ただし、それらがセッションに関連付けられていない場合のみ)。

MongoDB cleans up cursors linked to sessions with the localLogicalSessionTimeoutMinutes lifecycle, regardless of the cursorTimeoutMillis value. To handle long idle periods, use Mongo.startSession() and refresh the session using the refreshSessions command. For details, see Refresh a Cursor with refreshSessions.

defaultClientBaseBackoffMillis

mongod

デフォルト: 100

内部サーバー側接続で使用されるデフォルトの再試行戦略の基本遅延(ミリ秒)(mongos や mongod など)。サーバーはこの値を、過負荷により失敗した操作の再試行間の指数バックオフの初期遅延として使用します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

バージョン8.3の新機能。

defaultClientMaxBackoffMillis

mongod

デフォルト: 10、000

内部サーバー側クライアント接続で使用されるデフォルトの再試行戦略の最大遅延(ミリ秒)(mongos や mongod など)。サーバーは、過負荷により失敗した操作の再試行間の最大待機時間としてこの値を使用します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

バージョン8.3の新機能。

defaultClientRetryAttempts

mongod

デフォルト: 3

サーバーが内部サーバー側クライアント接続の操作を再試行する最大回数(mongos や mongod など)。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

バージョン8.3の新機能。

fassertOnLockTimeoutForStepUpDown

バージョン5.3の新機能。

mongod

デフォルト: 15 秒

昇格または降格のリクエストを受け取ったサーバーが、タイムアウト内に応答できない場合(サーバーのディスク障害などにより)にサーバーを終了できるようにします。これにより、クラスターは新しいプライマリ ノードを正常に選択でき、引き続き利用ができます。

fassertOnLockTimeoutForStepUpDown のデフォルトは 15 秒です。Fassert が発生したノードを無効にするには fassertOnLockTimeoutForStepUpDown=0 を設定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例えでは、ノードの fassert を無効にします。

mongod --setParameter fassertOnLockTimeoutForStepUpDown=0
globalConnPoolIdleTimeoutMinutes

mongod

レガシー グローバル接続プール内の接続が閉じられる前にアイドル状態を維持できる時間制限を設定します。

デフォルトでは、このパラメータは設定されていません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

mongos --setParameter globalConnPoolIdleTimeoutMinutes=10
httpVerboseLogging

mongod

Linux および macOS 上の curl に詳細なトレース機能を追加します。Windows への影響はありません。

デフォルトでは、このパラメータは設定されていません。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

mongos --setParameter httpVerboseLogging=true
indexBuildMinAvailableDiskSpaceMB

バージョン7.1の新機能。

mongod

Default: 500 MB

インデックス ビルドに必要な最小使用ディスク領域をメガバイト単位で設定します。

0MB 以上、8TB 以下である必要があります。 0 の場合、最小ディスク容量が無効になります。

使用可能なディスク容量がindexBuildMinAvailableDiskSpaceMB未満の場合、新しいインデックスビルドを開始できず、現在のインデックスビルドがキャンセルされます。

警告

indexBuildMinAvailableDiskSpaceMBを増やす場合は、サーバーに使用可能なディスク容量が十分にあることを確認してください。 また、 indexBuildMinAvailableDiskSpaceMBを高く設定しすぎると、使用可能なディスク容量が十分にある場合にインデックスのビルドが不必要に妨げられ、 indexBuildMinAvailableDiskSpaceMBが低く設定される可能性があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、 indexBuildMinAvailableDiskSpaceMBを650 MB に設定します。

db.adminCommand( { setParameter: 1, indexBuildMinAvailableDiskSpaceMB: 650 } )

スタートアップ時にindexBuildMinAvailableDiskSpaceMBを設定することもできます。 例:

mongod --setParameter indexBuildMinAvailableDiskSpaceMB=650
indexMaxNumGeneratedKeysPerDocument

mongod

バージョン5.3の新機能。

デフォルト: 100000

Limits the maximum number of keys generated for a document to prevent out of memory errors. It is possible to raise the limit, but if an operation requires more keys than the indexMaxNumGeneratedKeysPerDocument parameter specifies, the operation will fail.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

ingressAdmissionControllerTicketPoolSize

mongod

デフォルト: 1000000

イングレスキューで同時に許可される操作の最大数を制御します。デフォルト値の 1000000 は、無制限の数値同等値を表し、MongoDB が許可するデフォルトの最大接続数まですべての受信操作を許可します。

キューで待機している操作がある間にこの値を増やすと、新しいプールサイズが許容する限りの操作がブロック解除されます。この値を減らしても、現在実行中の操作はブロックされませんが、受信される制御可能な操作は、チケットが空くまでブロックされます。

mongod --setParameter ingressAdmissionControllerTicketPoolSize=100000

警告

Avoid modifying ingressAdmissionControllerTicketPoolSize unless directed by MongoDB engineers. This setting has major implications across both WiredTiger and MongoDB.

ingressConnectionEstablishmentRateLimiterEnabled

バージョン 8.2 の新機能: (8.1.1 および 8.0.12 でも利用可能)

mongod

タイプ: ブール値

デフォルト: false

新規接続の確立に対するレート制限が有効かどうかを決定します。有効にすると、MongoDB はレート制限を適用し、1 秒あたりに確立できる新しい接続の数を制御します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

ingressConnectionEstablishmentRatePerSec

バージョン 8.2 の新機能: (8.1.1 および 8.0.12 でも利用可能)

mongod

タイプ: int32

デフォルト: disabled

最小: 1

レート制限が有効な場合、1 秒あたりに確立できる新規接続の最大数を指定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

ingressConnectionEstablishmentBurstCapacitySecs

バージョン 8.2 の新機能: (8.1.1 および 8.0.12 でも利用可能)

mongod

型: double

デフォルト: disabled

最小: 1

Describes how many seconds worth of connection establishments that the server can admit before rate limiting begins. This allows the server to handle temporary bursts of connection requests that exceed the rate limit specified by ingressConnectionEstablishmentRatePerSec.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

ingressConnectionEstablishmentMaxQueueDepth

バージョン 8.2 の新機能: (8.1.1 および 8.0.12 でも利用可能)

mongod

タイプ: int32

デフォルト: 0(無効)

接続確立キュー内の最大接続試行回数を指定します。キューがこの接続試行数に達すると、サーバーは新しい接続試行を拒否します。

0 のデフォルト値は、サーバーが確立のためにキューに入るすべての接続を拒否することを意味します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

ingressConnectionEstablishmentRateLimiterBypass

バージョン 8.2 の新機能: (8.1.1 および 8.0.12 でも利用可能)

mongod

型: string 配列

デフォルト: []

サーバーが接続確立レート制限から除外する必要がある IP アドレスと CIDR 範囲のリストを提供します。これにより、特定の信頼できるクライアントがレート制限の制約を回避できるようになります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

ingressRequestRateLimiterApplicationExemptions

バージョン8.3の新機能。

mongod

タイプ: キー appNames によって指定された文字列の配列を含むドキュメント

デフォルト: { appnames: [] }

ingressRequestRateLimiterApplicationExemptions パラメータを使用すると、Ingressリクエストレート制限から除外するアプリケーションを指定できます。ingressRequestRateLimiterApplicationExemptions は、Ingressリクエストレート制限から除外するアプリケーション名の配列を含むドキュメントを入力として受け入れます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次のコマンドは、スタートアップ時にアプリケーション名 "MongoDB internal クライアント" の接続を除外します。

db.adminCommand( {
setParameter: 1,
ingressRequestRateLimiterApplicationExemptions: {
appNames: ["MongoDB Internal Client"],
}
} )

次のコマンドは、実行時にアプリケーション名「MongoDB internal クライアント」の接続を除外します。

mongod \
--setParameter "ingressRequestRateLimiterApplicationExemptions={\"appNames\":[\"MongoDB Internal Client\"]}"
internalOperationResponseMaxMS

バージョン9.0の新機能。

mongod

タイプ: 整数

デフォルト: 0

aggregate変更ストリーム または コマンドが oploggetMore をスキャンし、これまでに蓄積された結果とともに更新された resume token を返す前に要するおよその時間制限(ミリ秒単位)を設定します。

デフォルトでは、internalOperationResponseMaxMSは0です。つまり、変更ストリームのoplogスキャンは時間制限がなく、コマンドがバッチするまで、または変更ストリームがoplogの末尾に到達するまで、更新された再開トークンを返しません。この設定は、9.0より前のMongoDBバージョンの動作を保持します。この機能は厳密にオプトインです。

internalOperationResponseMaxMS を 0 より大きい値に設定すると、変更ストリーム oplog スキャンは、時間制限が超過しているかどうかを定期的にチェックします。制限を超えると、コマンドは、スキャンがoplogの最後に達していない場合や、バッチを填めていない場合でも、更新された再開トークンとともに累積された結果を返します。更新されたリジューム トークンにより、変更ストリームのコンシューマは長時間のスキャン中に進行状況を監視することができます。エラーが発生した場合、コンシューマはスキャンを最初から再開するのではなく、後の点から再開できます。

internalOperationResponseMaxMS を設定するには、機能の互換性バージョン (機能の互換性バージョン) 9.0 以降が必要です。

注意

internalOperationResponseMaxMS パラメータの名前は広範な適用可能性を示唆していますが、このパラメータは現在、変更ストリームのクエリにのみ影響します。このパラメータを設定しても、他のクエリタイプには影響しません。

このパラメータを設定する際は、次の動作を考慮してください。

  • 制限時間はクエリがyieldしたときにのみチェックされるため、値は概算として扱ってください。変更ストリームがoplogの末尾に到達し、新しい書き込み (write)を待機している間は、制限は適用されません。

  • 値を変更ストリームの maxTimeMS または maxAwaitTimeMS の値よりも大幅に高く設定しますが、ネットワークタイムアウト値よりは低く設定します。値が低すぎると、oplog スキャンが頻繁に中断され、各コマンドの進行が制限され、変更ストリームが書き込み (write) ワークロードに遅れをとる可能性があります。

個々の変更ストリームのパラメータをオーバーライドするには、変更ストリームの初期 aggregate コマンドで operationResponseMaxMS クエリノブを渡します。

{ querySettings: { queryKnobs: { operationResponseMaxMS: <value> } } }

次のコマンドは、internalOperationResponseMaxMS を 5000 ミリ秒に設定します。

db.adminCommand( { setParameter: 1, internalOperationResponseMaxMS: 5000 } )

次のスタートアップコマンドは、internalOperationResponseMaxMSを5000ミリ秒に設定します。

mongod --setParameter internalOperationResponseMaxMS=5000
internalQueryMaxMemoryUsageBytesPerOperation

バージョン9.0の新機能。

mongod

タイプ: Int

デフォルト: 1 GB またはサーバープロセスが利用可能なメモリの 20% のいずれか大きい方。

単一の操作のすべてのメモリ追跡ステージが集合的に使用できるメモリの最大量を指定します。このパラメータは、操作ごとのメモリ制限を設定します。MongoDBが追跡するステージと式、および操作が制限を超えた場合に何が起こるかについては、操作ごとのメモリ制限を参照してください。

MongoDB 9.0以降では、クエリ設定でこのパラメータを構成することもできます。クエリ設定を設定するには、setQuerySettingsを使用します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次のコマンドは、実行時に internalQueryMaxMemoryUsageBytesPerOperation を 1073741824 (1 ギガバイト) に設定します。

db.adminCommand( { setParameter: 1, internalQueryMaxMemoryUsageBytesPerOperation: 1073741824 } )

次のコマンドは、スタートアップ時にinternalQueryMaxMemoryUsageBytesPerOperationを1073741824(1ギガバイト)に設定します。

mongod --setParameter internalQueryMaxMemoryUsageBytesPerOperation=1073741824
internalQueryMaxSingleExpressionMemoryUsageBytes

バージョン9.0の新機能。

mongod

タイプ: Int

Default: 104857600 (100 megabytes)

式評価中にメモリ集約型の式のサブセットが使用できる最大メモリ量を指定します。操作ごとのメモリ制限が操作に適用されない場合、MongoDBはこの制限を適用します。操作ごとのメモリ制限を学ぶには、操作ごとのメモリ制限を参照してください。

このパラメーターは、クエリ設定では構成できません。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次のコマンドは、実行時にinternalQueryMaxSingleExpressionMemoryUsageBytesを104857600(100メガバイト)に設定します。

db.adminCommand( { setParameter: 1, internalQueryMaxSingleExpressionMemoryUsageBytes: 104857600 } )

次のコマンドは、スタートアップ時にinternalQueryMaxSingleExpressionMemoryUsageBytesを104857600(100メガバイト)に設定します。

mongod --setParameter internalQueryMaxSingleExpressionMemoryUsageBytes=104857600
overloadAwareServerSelectionEnabled

バージョン8.3の新機能。

mongod

タイプ: ブール値

デフォルト: false

このパラメータは、クラスター内の他のサーバーに対する過負荷による再試行が、SystemOverloadedError というラベルの付いたエラーを最近返したサーバーを回避するかどうかを制御します。これは、リモート ターゲティングを実行する操作に影響します。例、mongos がシャード ノードに対してリクエストを再試行する場合や、mongod が集計中にリモート読み取りを実行する場合などです。

このパラメータを true に設定すると、リモート ターゲティングの再試行ロジックは、SystemOverloadedError で失敗する操作に対して過負荷になっていないノードを優先します。例、mongos が読み取りを再試行すると、次のようになります。

  • primaryPreferred読み込み設定 (read preference)を使用すると、プライマリが過負荷を示している場合、プライマリにアクセス可能な状態でも、mongos は再試行された読み取りをセカンダリにルーティングできます。

  • secondaryPreferred読み込み設定 (read preference)を使用すると、セカンダリが過負荷を示している場合、mongos は再試行された読み取りをプライマリにルーティングできます。

このパラメータを false に設定すると、再試行によって過負荷を示すノードが回避されなくなります。ノードが SystemOverloadedError を返し続けた場合、再試行はそのノードをターゲットに引き続き使用する可能性があります。

このパラメータは、シャード ノードで Ingressリクエストレート制限やその他の過負荷メカニズムを有効にする場合に発生する可能性のある SystemOverloadedError エラー後に再試行される操作にのみ影響します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

maxEstimatedScanBytes

バージョン9.0の新機能。

mongod

タイプ: 整数

デフォルト: -1(無効)

コレクションスキャンが読み取る最大データサイズを指定します。プランニング時に、クエリプランが、非圧縮の論理データサイズがこのしきい値を超えるコレクションに対して無制限のコレクションスキャンを必要とする場合、MongoDBはクエリを拒否します。MongoDBは、しきい値を非圧縮の論理バイト単位で測定します。これは、collStatsコマンドが返すsizeフィールドと同等であり、ディスク上の圧縮サイズではありません。

Use maxEstimatedScanBytes as a more production-suitable alternative to notablescan. When MongoDB rejects a query, the server returns a NoQueryExecutionPlans error. To learn more about this error, see Error Codes.

MongoDBでは、コレクションがしきい値を超えた場合でも、以下のクエリは拒否されません。

  • limit オプションを使用するクエリ

  • インデックス付きプランを使用するクエリ

  • system.* コレクションや内部データベースなど、内部名前空間に対するクエリ

  • min と max のレコード範囲を指定する範囲指定されたクラスター化されたコレクションスキャン

$lookup 操作の場合、MongoDB は、外部コレクションがスレッショルを超える場合、インデックス付きネスト化されたループ結合ではないすべての結合戦略を拒否します。

特定のクエリに対する拒否を回避するには、クエリに $natural ヒントを追加します。

To log queries that exceed the threshold without rejecting them, see maxEstimatedScanBytesDryRun.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例は、スタートアップ時に maxEstimatedScanBytes を設定するための構文を示しています。

mongod --setParameter maxEstimatedScanBytes=<int>

実行時にパラメータを設定するには、setParameter コマンドを使用します。

db.adminCommand( { setParameter: 1, maxEstimatedScanBytes: <int> } )
maxEstimatedScanBytesDryRun

バージョン9.0の新機能。

mongod

タイプ: ブール値

デフォルト: false

Enables dry-run mode for the maxEstimatedScanBytes parameter. When set to true, MongoDB runs queries that the server would otherwise reject and instead logs the queries and increments the metrics.query.maxEstimatedScanBytes.dryRunWouldReject counter.

ドライランモードを使用して、しきい値を強制する前にその影響を評価します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例は、スタートアップ時に maxEstimatedScanBytesDryRun を設定するための構文を示しています。

mongod --setParameter maxEstimatedScanBytesDryRun=true

実行時にパラメータを設定するには、setParameter コマンドを使用します。

db.adminCommand( { setParameter: 1, maxEstimatedScanBytesDryRun: true } )
maxIndexBuildMemoryUsageMegabytes

mongod

デフォルト (絶対): 200
最小 (絶対): 50
最大 (パーセント): 0.8

1つのコレクションに対して同時インデックス構築を行う場合、その期間中に消費されるメモリ量を制限します。指定されたメモリ量は、単一の createIndexes コマンドまたはそのシェルヘルパー db.collection.createIndexes() を使用して構築されるすべてのインデックス間で共有されます。制限を増やすと、単一の createIndexes コマンドで複数のインデックスを同時に構築する場合や、サイズが500GBを超えるインデックスキーデータセットを扱う場合など、一部の状況でパフォーマンスへの悪影響を回避できる場合があります。インデックス構築で消費されるメモリは、WiredTiger キャッシュメモリとは別です(cacheSizeGB を参照)。

  • この値を 0-0.8 に設定すると、ビルドをメモリの割合に制限できます。

  • この値を 1.0 以上に設定すると、ビルドを絶対数のメガバイトに制限できます。

この設定で割り当てられる値が 50 MB 未満の場合、mongod は最小値 50 MB を使用します。パーセンテージの設定が 0.8 より大きい場合、mongod は使用可能なメモリの最大 80% を使用します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

Atlasの配置では、次の表に示すように、変更できないクラスター階層のデフォルト値が使用されます。

インスタンス RAM
比較可能な階層
maxIndexBuildMemoryUsageMegabytes デフォルト

256GB以上

M200 以上

2048 MB

128GB - 256GB

M80-M140

1024 MB

32GB - 128GB

M50-M60

512 MB

16 GB

M40

400 MB

8 GB

M30

250 MB

2GB - 4GB

M10-M20

100 MB

maxNumActiveUserIndexBuilds

mongod

タイプ: 整数

デフォルト: 3

MongoDB が同時に実行できるインデックス構築リクエストの最大数を設定します。maxNumActiveUserIndexBuilds は、すべてのコレクションに適用されるグローバルな制限です。

createIndexes コマンドはインデックスの構築を行います。createIndexes コマンドが一度に複数のインデックスをビルドする場合でも、コマンドの実行によって maxNumActiveUserIndexBuilds に追加されるのは 1 のみです。

maxNumActiveUserIndexBuilds の値を増やすと、追加の同時インデックス構築が可能になりますが、WiredTiger キャッシュへの負荷が増大します。

システム インデックスは maxNumActiveUserIndexBuilds に制限されませんが、システム インデックスの構築はユーザー インデックス構築の制限に含まれます。

サーバーが maxNumActiveUserIndexBuilds に達すると、同時インデックス構築の数が maxNumActiveUserIndexBuilds 制限を下回るまで、追加のユーザーインデックス構築をブロックします。インデックス構築がブロックされると、サーバーは次のメッセージをログに記録します。

Too many index builds running simultaneously, waiting until the
number of active index builds is below the threshold.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次のコマンドにより、4つの同時インデックス構築の制限が設定されます。

db.adminCommand( { setParameter: 1, maxNumActiveUserIndexBuilds: 4 } )

Atlasの配置では、次の表に示すように、変更できないクラスター階層のデフォルト値が使用されます。

Atlas Tiers
maxNumActiveUserIndexBuilds のデフォルト

小規模 M 階層(M10、M20、M30、M40)

1

中 M 階層(M50、M60)

2

大規模な M 階層(M80 以上、NMVe バリアントを含む)

3

注意

これらのデフォルトは、対応する低 CPU R 階層にも適用されます。

以下も参照してください。

messageSizeErrorRateSec

バージョン 8.3 の新機能: (8.2.4 以降でも使用可能)8.0.18、および 7.0.29)

mongod

タイプ: Int

デフォルト: 5

サーバーが情報レベルでメッセージサイズエラーをログする頻度を秒単位で指定します。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

次の操作では、messageSizeErrorRateSec に 6 を設定します。

mongod --setParameter messageSizeErrorRateSec=6
notablescan

mongod

インデックスを使用できる場合に、インデックスが存在するかどうかに関係なく、一部のコレクション スキャンの実行を防止します。true の場合、MongoDB はコレクションスキャンを必要とするクエリを実行せず、エラーを返します。除外対象には、フィルターのないクエリや、oplog のような上限付きコレクションに対するクエリが含まれます。

Consider the following example which sets notablescan to true or true:

db.adminCommand( { setParameter: 1, notablescan: true } )

Set notablescan to true to test application queries and identify queries that scan an entire collection and cannot use an index.

To detect unindexed queries without notablescan, consider reading the Analyze Query Performance section and using the logLevel parameter, mongostat and profiling.

Don't run production mongod instances with notablescan because preventing collection scans can potentially affect queries in all databases, including administrative queries.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

注意

notablescan では、クラスター化インデックスを使用する限界が設定されていないクエリは許可されません。このクエリではコレクションのフル スキャンが必要なためです。詳細については、コレクションスキャンを参照してください。

preAuthMaximumMessageSizeBytes

バージョン 8.3 の新機能: (8.2.4 以降でも使用可能)8.0.18、および 7.0.29)

mongod

タイプ: Int

Default: 16384 (16 KiB)

セッションが認証する前に送信可能なメッセージの最大サイズ(バイト単位)です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、以下はメッセージの最大サイズを1700バイトに設定します。

mongod --setParameter preAuthMaximumMessageSizeBytes=1700

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, preAuthMaximumMessageSizeBytes: 1700 } )
reportOpWriteConcernCountersInServerStatus

mongod

デフォルト: false

A boolean flag that determines whether the db.serverStatus() method and serverStatus command return opWriteConcernCounters information. [1]

mongod --setParameter reportOpWriteConcernCountersInServerStatus=true
[1] Enabling reportOpWriteConcernCountersInServerStatus can have a negative performance impact; specifically, when running without TLS.
slowConnectionThresholdMillis

バージョン6.3の新機能。

mongod

デフォルト: 100

低速のサーバー接続の確立をログに記録する際の時間制限をミリ秒単位で設定します。

If a connection takes longer to establish than the slowConnectionThresholdMillis parameter, an event is added to the log with the message msg field set to "Slow connection establishment".

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets slowConnectionThresholdMillis to 250 milliseconds.

mongod --setParameter slowConnectionThresholdMillis=250

Or, if using the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, slowConnectionThresholdMillis: 250 } )

警告

tcmallocAggressiveMemoryDecommit is deprecated in 8.0. MongoDB 8.0 uses an updated version of tcmalloc that improves memory fragmentation and management. See tcmalloc upgrade for more information. To release memory back to the operating system, consider using tcmallocEnableBackgroundThread instead.

tcmallocEnableBackgroundThread

mongod

バージョン8.0の新機能。

タイプ: ブール値

デフォルト: true

If set to true, tcmallocEnableBackgroundThread creates a background thread that periodically releases memory back to the operating system. The value of tcmallocReleaseRate determines the rate, in bytes per second, at which the background thread releases memory.

注意

tcmallocEnableBackgroundThread が true で tcmallocReleaseRate が 0 の場合でも、MongoDB はメモリを解放します。

メモリ使用量を改善するには、デフォルト値の true を使用することをお勧めします。パフォーマンスとメモリ管理の改善の詳細については、「アップグレードされた TCMalloc」を参照してください。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

次の操作では、tcmallocEnableBackgroundThread に false を設定します。

mongod --setParameter "tcmallocEnableBackgroundThread=false"
tcmallocReleaseRate

mongod

バージョン8.0で変更。

デフォルト: 0

TCMalloc の解放率(1 秒あたりのバイト数)を指定します。解放率とは、 MongoDB が未使用のメモリをシステムに解放する速度を指します。tcmallocReleaseRate が 0 に設定されている場合、 MongoDB はメモリを解放してシステムに戻すことはありません。この値を増やすと、メモリの戻りが速くなります。メモリの戻りが遅くするには、それを減らします。

tcmallocReleaseRate が小さい非ゼロ値である場合、実際のメモリリリースレートが構成値を超える可能性があります。TCMalloc はページスパン単位でメモリをリリースし、ページスパンは複数の TCMalloc ページで構成できます。

注意

tcmallocEnableBackgroundThread が true で tcmallocReleaseRate が 0 の場合でも、MongoDB はメモリを解放します。

MongoDB8.0 以降では、メモリ解放よりもtcmallocReleaseRate 0CPU パフォーマンスを優先する tcmalloc のアップグレードが行われているため、 のデフォルト値は に削減されています。

重要

Windows 、PPC、s390x などの tcmalloc-gperf を使用するプラットフォームでMongoDBを実行すると、tcmallocReleaseRate は以前のMongoDBバージョンと同じ動作をします。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

例として、tcmallocReleaseRate を 2097152 に設定すると、2 MiB/s が指定されます。tcmalloc.tcmalloc.release_rate と tcmalloc.tcmalloc_derived.total_free_bytes をモニターして、適切なレートを決定します。レートを高くすると空きメモリは早く解放されますが、MongoDBが再利用のために保持するメモリが少なくなるため、パフォーマンスに影響する可能性があります。

実行時にリリースレートを変更するには、setParameter コマンドを使用します。(例: )。

db.adminCommand( { setParameter: 1, tcmallocReleaseRate: 2097152 } )

You can also set tcmallocReleaseRate at startup time; for example:

mongod --setParameter "tcmallocReleaseRate=2097152"
tcpFastOpenClient

mongod

デフォルト: true

Linux オペレーティング システムのみ。

mongod/mongos からクライアントへのアウトバウンド TCP Fast Open(TFO)接続のサポートを有効にします。TFO では、クライアントと mongod/mongos ホスト マシンの両方で TFO がサポートされ、有効である必要があります。

Linux カーネル 4.11 以降を実行している Linux オペレーティング システムは、アウトバウンド TFO をサポートできます。

アウトバウンド TFO 接続を有効にするには、次のように /proc/sys/net/ipv4/tcp_fastopen の値を設定します。

  • 1 に設定すると、アウトバウンド TFO 接続のみを有効にします。

  • 3 に設定すると、インバウンドおよびアウトバウンドの TFO 接続を有効にします。

このパラメータは、ホスト オペレーティング システムが TFO 接続をサポートしていないか、またはサポートするように構成されていない場合、影響はありません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

tcpFastOpenQueueSize

mongod

デフォルト: 1024

TCP Fast Open(TFO)接続を確立する一環として、クライアントは標準の TCP 3 ウェイ ハンドシェイクが完了する前に、有効な TFO クッキーを mongod/mongos に送信します。mongod/mongos は、保留中のすべての TFO 接続に対するキューを 1 つ保持します。

tcpFastOpenQueueSize パラメーターには、保留中の TFO 接続のキューのサイズを設定します。 キューがいっぱいになると、mongod/mongos はクライアントからの受信リクエストに対して通常の 3 ウェイ ハンドシェイクに戻り、TFO クッキーの存在を無視します。キューのサイズが制限値を下回ると、 mongod/mongos は新しい TFO クッキーの受け入れを開始します。

  • デフォルトのキュー サイズを増やすと、TFO がネットワーク パフォーマンスに与える影響が改善される可能性があります。ただし、キュー サイズが大きいと、過剰な受信 TFO リクエストによってサーバー リソースが枯渇するリスクも高まります。

  • デフォルトのキューサイズを小さくすると、過剰な受信 TFO リクエストによるリソース サーバーのリソース枯渇のリスクを軽減できます。ただし、キューのサイズが小さいと、ネットワーク パフォーマンスに与える TFO の効果も小さくなる可能性があります。

    キューの最小サイズは 0 です。0 のキューは、TFO を効果的に無効にします。

このパラメータは、TFO 接続をサポートしていない、または TFO 接続用に構成されていないホスト オペレーティング システムには影響しません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

tcpFastOpenServer

mongod

デフォルト: true

クライアントから mongod/mongos へのインバウンド TCP Fast Open(TFO)接続を受け入れるためのサポートを有効にします。TFO にはクライアントと mongod/mongos ホスト マシンの両方で次のように TFO がサポートされ、有効である必要があります。

Windows

次の Windows オペレーティング システムは TFO をサポートしています。

  • Microsoft Windows Server 2016 以降。

  • Microsoft Windows 10 Update 1607 以降。

MacOS
macOS 10.11(El Capitan)以降は TFO をサポートしています。
Linux

Linux カーネル 3.7 以降を実行している Linux オペレーティング システムは、インバウンド TFO をサポートできます。

インバウンド TFO 接続を有効にするには、 /proc/sys/net/ipv4/tcp_fastopen の値を設定します。

  • インバウンド TFO 接続のみを有効にするには、 2 を設定します。

  • インバウンド TFO 接続およびアウトバウンド TFO 接続を有効にするには、 3 を設定します。

このパラメータは、ホスト オペレーティング システムが TFO 接続をサポートしていないか、またはサポートするように構成されていない場合、影響はありません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

ttlMonitorEnabled

mongod

デフォルト: true

TTL インデックス をサポートするために、mongod インスタンスには、TTL インデックスを持つコレクションからドキュメントを削除するバックグラウンド スレッドがあります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

To disable this worker thread for a mongod, set ttlMonitorEnabled to false, as in the following operations:

db.adminCommand( { setParameter: 1, ttlMonitorEnabled: false } )

あるいは、次のオプションを使用して mongod インスタンスを開始することにより、スタートアップ時にスレッドを無効にすることもできます。

mongod --setParameter ttlMonitorEnabled=false

重要

MongoDB サポートからのガイダンスがない限り、 ttlMonitorEnabled を無効にした状態で本番環境の mongod インスタンスを実行しないでください。TTL ドキュメントの削除を行わない場合、TTL インデックスに依存する MongoDB の内部システム操作に悪影響を与える可能性があります。

watchdogPeriodSeconds

mongod

タイプ: 整数

デフォルト: -1(無効)

ストレージ ノード ウォッチドッグがモニター対象ファイルシステムのステータスをチェックする頻度を決定します。

  • --dbpath ディレクトリ

  • --dbpath ディレクトリ内の journal ディレクトリ

  • --logpath ファイルのディレクトリ

  • --auditPath ファイルのディレクトリ

Valid values for watchdogPeriodSeconds are:

  • -1 (デフォルト)、Storage Node Watchdog を無効化もしくは一時停止します、または

  • 60以上の整数。

注意

  • If a filesystem on a monitored directory becomes unresponsive, it can take a maximum of nearly twice the value of watchdogPeriodSeconds to terminate the mongod.

  • 監視対象ディレクトリの中に他のボリュームへのシンボリック リンクである場合、Storage Node Watchdog はシンボリックリンクのターゲットの監視は行いません。たとえば、mongod が storage.directoryPerDB: true(または --directoryperdb)を使用してデータベース ディレクトリを別のボリュームにシンボリック リンクする場合、Storage Node Watchdog はシンボリック リンクに従ってターゲットを監視することはありません。

To enable Storage Node Watchdog, watchdogPeriodSeconds must be set during startup.

mongod --setParameter watchdogPeriodSeconds=60

You can only enable the Storage Node Watchdog at startup. However, once enabled, you can pause the Storage Node Watchdog or change the watchdogPeriodSeconds during run time.

有効にすると、停止や変更に次の操作が必要です。

  • To pause the Storage Node Watchdog during run time, set watchdogPeriodSeconds to -1.

    db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: -1 } )
  • To resume or change the period during run time, set watchdogPeriodSeconds to a number greater than or equal to 60.

    db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: 120 } )

注意

It is an error to set watchdogPeriodSeconds at run time if the Storage Node Watchdog was not enabled at startup time.

enableDetailedConnectionHealthMetricLogLines

バージョン7.0の新機能。

mongod

タイプ: ブール値

デフォルト: true

Determines whether to enable specific log messages related to cluster connection health metrics. If enableDetailedConnectionHealthMetricLogLines is set to false, the following log messages are turned off, but MongoDB still collects data on the cluster connection health metrics:

ログ メッセージ
説明

ピアからの TLS 接続を受け入れました

受け付けた Ingress 接続での TLS ハンドシェイク中に、サーバーがピア証明書を正常に解析したことを示します。

Ingress TLS ハンドシェイクが完了しました

Ingress 接続での TLS ハンドシェイクが完了したことを示します。

Hello 処理が完了しました

受信クライアント接続で初期接続ハンドシェイクが完了したことを示します。

MongoDB は最初の hello コマンドでのみログ メッセージを表示します。

認証メトリクス レポート

認証の交信のステップの完了を指定します。

セッションの開始または認証ハンドシェイク以降、Ingress 接続で最初のコマンドを受信しました

ハンドシェイクの一部ではない最初のコマンドを Ingress 接続が受信したことを示します。

ネットワーク応答の送信時間が遅くなっています

Ingress 接続を介してクライアントに応答を返すのにかかる時間(ミリ秒単位)が、slowMS サーバー パラメーターで定義された時間よりも長くかかることを示します。

OCSP リクエストのクライアント側での検証が完了しました

Egress TLS 接続が確立されたときにピアが TLS ハンドシェイクに対して OCSP 応答を含めない場合、サーバーは認証局に OCSP 要求を送信する必要があります。MongoDB は、認証局が OCSP 応答を受信したときにこのログ メッセージを書き込みます。

接続の確立が遅くなっています

Indicates that the time taken to send a response back to the client over an ingress connection takes longer than the threshold specified with the slowConnectionThresholdMillis parameter. MongoDB also emits this log message when the connection establishment times out.

接続の取得待ちの間に操作がタイムアウトしました

Egress 接続の取得待ちの間に操作がタイムアウトしたことを示します。

リモート操作用の接続を取得し、通信での書き込みを完了しました

接続が確立された瞬間から起算して、サーバーが Egress 接続で送信リクエストを書き込むのに 1 ミリ秒以上かかったことを示します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

logComponentVerbosity

mongod

デフォルト: 0

Sets the verbosity levels of various components for log messages. The verbosity level determines the amount of Informational and Debug messages MongoDB outputs. [2]

冗長レベルは次のように 0 から 5 までの範囲で指定できます。

  • 0 は MongoDB のデフォルトのログ冗長レベルであり、情報メッセージが含まれます。

  • 1 冗長レベルを5 まで上げることによって、デバッグ メッセージを含めることができます。

コンポーネントの場合、-1 を指定して親の冗長レベルを継承することもできます。

冗長レベルを指定するには、次のようなドキュメントを使用します。

{
verbosity: <int>,
<component1>: { verbosity: <int> },
<component2>: {
verbosity: <int>,
<component3>: { verbosity: <int> }
},
...
}

コンポーネントについては、親コンポーネントと子コンポーネントの両方の冗長レベルの両方を設定する場合を除き、ドキュメント内の <component>: <int> だけを指定できます。

{
verbosity: <int>,
<component1>: <int> ,
<component2>: {
verbosity: <int>,
<component3>: <int>
}
...
}

最上位の verbosity フィールドは、すべてのコンポーネントに対するデフォルト レベルを設定する systemLog.verbosity に対応します。systemLog.verbosity のデフォルト値は 0 です。

コンポーネントは、次の設定に対応しています。

明示的に設定されない限り、コンポーネントの冗長レベルは親の冗長レベルになります。たとえば、storage は storage.journal の親です。つまり、 storage の冗長レベルを指定すると、このレベルは次のコンポーネントにも適用されます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、次の例では、 default verbosity levelを1に、 queryを2に、 storageを2に、 storage.journalを1に設定します。

db.adminCommand( {
setParameter: 1,
logComponentVerbosity: {
verbosity: 1,
query: { verbosity: 2 },
storage: {
verbosity: 2,
journal: {
verbosity: 1
}
}
}
} )

You can also set parameter logComponentVerbosity at startup time, passing the verbosity level document as a string.

mongod --setParameter "logComponentVerbosity={command: 3}"

mongosh also provides the db.setLogLevel() to set the log level for a single component. For various ways to set the log verbosity level, see Configure Log Verbosity Levels.

[2]

MongoDB バージョン 4.2 以降では、ログ メッセージにデバッグの冗長レベル(1 ~ 5)が含まれるようになりました。たとえば、冗長レベルが 2 の場合、MongoDB は D2 をログに出力します。以前のバージョンでは、MongoDB のログ メッセージではデバッグ レベルに D しか指定されていませんでした。

logLevel

mongod

デフォルト : 0(情報)

Specify an integer between 0 and 5 signifying the verbosity of the logging, where 5 is the most verbose. [3]

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets the logLevel to 2:

db.adminCommand( { setParameter: 1, logLevel: 2 } )
[3]

MongoDB バージョン 4.2 以降では、ログ メッセージにデバッグの冗長レベル(1 ~ 5)が含まれるようになりました。たとえば、冗長レベルが 2 の場合、MongoDB は D2 をログに出力します。以前のバージョンでは、MongoDB のログ メッセージではデバッグ レベルに D しか指定されていませんでした。

maxLogSizeKB

mongod

型: 非負整数

デフォルト: 10

ログ エントリの個々の属性フィールドの最大サイズをキロバイト単位で指定します。この制限を超える属性は切り捨てられます。

Truncated attribute fields print field content up to the maxLogSizeKB limit and excise field content past that limit, retaining valid JSON formatting. Log entries that contain truncated attributes append a truncated object to the end of the log entry.

詳細については、「ログメッセージの切り捨て」を参照してください。

値が 0 の場合は、切り捨てを完全に無効にします。このパラメーターでは負の値は無効です。

警告

大きな値を使用するか、0 を指定して切り捨てを無効にすると、システムのパフォーマンスが悪くなり、データベース操作に悪影響を及ぼす可能性があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、最大ログ行サイズを20 キロバイトに設定します。

mongod --setParameter maxLogSizeKB=20
quiet

mongod

quiet ロギング モードを設定します。1 の場合、mongod は quiet ロギング モードになり、次のイベントおよびアクティビティはログに記録されません。

  • 接続イベント

  • drop コマンド、dropIndexes コマンド、validate コマンド、および

  • レプリケーション同期アクティビティ

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

quiet パラメーターに1 を設定する次の例えを考えてみます。

db.adminCommand( { setParameter: 1, quiet: 1 } )
redactClientLogData

mongod

タイプ: ブール値

注意

エンタープライズ機能

MongoDB Enterprise でのみ使用できます。

ロギングする前に、特定のログ イベントに付随するメッセージをリダクションするには、mongodまたは mongos を構成します。これにより、データベースに格納されている機密性が高い可能性のあるデータをプログラムが診断ログに書き込むことを防止します。エラー コードや操作 コード、行番号、ソース ファイル名などのメタデータは、引き続きログに表示されます。

Use redactClientLogData in conjunction with Encryption at Rest and TLS/SSL (Transport Encryption) to assist compliance with regulatory requirements.

スタートアップ時にログのリダクションを有効にするには、次のいずれかを実行します。

  • 次のように、--redactClientLogData オプションで mongod を開始します。

    mongod --redactClientLogData
  • 構成ファイルで security.redactClientLogData オプションを設定します。

    security:
    redactClientLogData: true
    ...

You can't use the --setParameter option to set redactClientLogData at startup.

実行中の mongod または mongos でログ リダクションを有効にするには、次のコマンドを使用します。

db.adminCommand( { setParameter: 1, redactClientLogData : true } )
redactEncryptedFields

バージョン6.1.0の新機能。

mongod

タイプ: ブール値

デフォルト: true

すべてのログ メッセージからの暗号化された Binary データのフィールド値を編集するように mongod と mongos を構成します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

suppressNoTLSPeerCertificateWarning

mongod

タイプ: ブール値

デフォルト: false

デフォルトでは、mongod mongosTLS/SSL が有効 になっている または とnet.ssl.allowConnectionsWithoutCertificates :true により、クライアントは警告をログに記録しながら検証のための証明書を提供せずに接続できます。これらの警告を抑制するには、 suppressNoTLSPeerCertificateWarningを1またはtrueに設定します。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

次の操作では、suppressNoTLSPeerCertificateWarning に true を設定します。

db.adminCommand( { setParameter: 1, suppressNoTLSPeerCertificateWarning: true} )
traceExceptions

mongod

デバッグで使用するために、すべてのデータベース例外およびソケット C++ 例外の完全なソースコード スタック トレースをログに記録するように mongod を構成します。trueの場合、mongod は完全なスタック トレースをログに記録します。

このパラメーターは実行時にのみ使用できます。 パラメーターを設定するには、 setParameterコマンドを使用します。

traceExceptions に true を設定する次の例を考えてみます。

db.adminCommand( { setParameter: 1, traceExceptions: true } )

MongoDB エンジニアが MongoDB サーバーの動作を簡単に分析できるように、MongoDB は定期的にサーバーの統計情報を診断ファイルに記録します。

mongod の場合、診断データファイルは mongod インスタンスの --dbpath または storage.dbPath 配下のdiagnostic.data ディレクトリに保存されます

mongos の場合、診断データファイルは、デフォルトで、mongosインスタンスの --logpath または systemLog.path ディレクトリ配下ディレクトリに保存されます。診断データディレクトリは、ログ パスのファイル拡張子を切り捨てて、残りの名前に diagnostic.data を連結することによって命名します。

For example, if mongos has --logpath /var/log/mongodb/mongos.log.201708015, then the diagnostic data directory is /var/log/mongodb/mongos.diagnostic.data/ directory. To specify a different diagnostic data directory for mongos, set the diagnosticDataCollectionDirectoryPath parameter.

次のパラメータは診断データ取得(FTDC)をサポートします。

注意

診断データ取得間隔と最大サイズのデフォルト値は、パフォーマンスとストレージ サイズへの影響を最小限に抑えながら、MongoDB エンジニアにデータを提供するように構成されています。通常、これらの値は、特定の診断目的のために MongoDB エンジニアから要求がある場合にのみ変更する必要があります。

diagnosticDataCollectionDirectoryPath

mongos

タイプ: string

警告

If Full Time Diagnostic Data Capture (FTDC) is disabled with diagnosticDataCollectionEnabled or if systemLog.destination is set to syslog, you must restart mongos after setting diagnosticDataCollectionDirectoryPath.

mongos の診断ディレクトリを指定します。ディレクトリが存在しない場合は、mongos がディレクトリを作成します。

指定されていない場合、診断データディレクトリは、mongos インスタンスの --logpath ファイル拡張子または systemLog.path ファイル拡張子を切り捨て、diagnostic.data を連結することによって命名されます。

たとえば、 mongos が --logpath /var/log/mongodb/mongos.log.201708015 を保有している場合、診断データディレクトリは /var/log/mongodb/mongos.diagnostic.data/ になります。

mongos が指定されたディレクトリを作成できない場合、そのインスタンスの診断データ取得は無効になります。パス上に同じ名前のファイルが既に存在する場合、またはプロセスにディレクトリを作成する権限がない場合、 mongos は指定されたディレクトリを作成できない可能性があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

diagnosticDataCollectionDirectorySizeMB

mongod

タイプ: 整数

デフォルト: 500

diagnostic.dataディレクトリの最大サイズをメガバイト単位で指定します。 ディレクトリのサイズがこの数を超えると、ファイル名のタイムスタンプに基づいて、ディレクトリ内の最も古い診断ファイルが自動的に削除されます。

The minimum value for diagnosticDataCollectionDirectorySizeMB is 10 megabytes. diagnosticDataCollectionDirectorySizeMB must be greater than maximum diagnostic file size diagnosticDataCollectionFileSizeMB.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、次の例では、ディレクトリの最大サイズを 650 メガバイトに設定します。

mongod --setParameter diagnosticDataCollectionDirectorySizeMB=650

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, diagnosticDataCollectionDirectorySizeMB: 650 } )
diagnosticDataCollectionEnabled

mongod

タイプ: ブール値

デフォルト: true

診断目的でデータの収集とログの記録を有効にするかどうかを決定します。診断用ログの記録はデフォルトで有効になっています。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、次のようにすると、診断コレクションが無効になります。

mongod --setParameter diagnosticDataCollectionEnabled=false
diagnosticDataCollectionFileSizeMB

mongod

タイプ: 整数

デフォルト: 10

各診断ファイルの最大サイズをメガバイト単位で指定します。 ファイルの最大ファイル サイズを超える場合、MongoDB は新しいファイルを作成します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、次の例では、各診断ファイルの最大サイズを 20 メガバイトに設定します。

mongod --setParameter diagnosticDataCollectionFileSizeMB=20

The minimum value for diagnosticDataCollectionFileSizeMB is 1 megabyte.

diagnosticDataCollectionPeriodMillis

mongod

タイプ: 整数

デフォルト: 1000

診断データを収集する間隔をミリ秒単位で指定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、次の例では間隔を5000 ミリ秒(5 秒)に設定します。

mongod --setParameter diagnosticDataCollectionPeriodMillis=5000

The minimum value for diagnosticDataCollectionPeriodMillis is 100 milliseconds.

procFileSizeLimit

バージョン8.0.21の新機能。

mongod

タイプ: 整数

デフォルト: 1048576

procfs ファイル (/proc 配下の表形式テキストファイル) のサイズがこの制限を超えた場合、フルタイム診断データキャプチャはファイルの読み取りをスキップします。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

次の例では、スタートアップ時に procFileSizeLimit を 1000000 に設定します。

mongod --setParameter procFileSizeLimit=1000000
abortStreamingHelloWithSmallTimeout

タイプ: ブール値

デフォルト: false

Controls how the server responds when an unauthenticated client sends a streaming hello command with a maxAwaitTimeMS value below the minWaitForStreamingHelloMillis floor:

  • falseの場合、サーバーは有効なタイムアウトをminWaitForStreamingHelloMillisまでクランプします。

  • trueの場合、サーバーはコマンドを拒否し、InvalidOptionsエラーを返します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時に abortStreamingHelloWithSmallTimeout を true に設定します。

mongod --setParameter abortStreamingHelloWithSmallTimeout=true
mongos --setParameter abortStreamingHelloWithSmallTimeout=true

次の例では、setParameterコマンドを使用してabortStreamingHelloWithSmallTimeoutをtrueに設定します。

db.adminCommand( { setParameter: 1, abortStreamingHelloWithSmallTimeout: true } )
allowMultipleArbiters

バージョン5.3の新機能。

mongod

タイプ: ブール値

デフォルト: false

レプリカセットで複数のアービタの使用を許可するかどうかを指定します。

複数のアービタの使用は推奨されません。

  • アービタが複数あると、過半数の書込み保証(write concern)を信頼して使用することができません。MongoDB は、メンバーシップの過半数を計算する際にアービタをカウントしますが、アービタはデータを保存しません。複数のアービタを含めると、データを含む大多数のノードに書き込みが複製される前に、過半数の書込み保証(write concern)操作が成功を返すことが可能です。

  • 複数のアービタにより、レプリカセットにデータ レプリケーション用の十分なセカンダリがない場合でも、レプリカセットは書き込みを受け入れることができます。

詳細については、「複数のアービタに関する懸念」を参照してください。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

mongod --setParameter allowMultipleArbiters=true
changeSyncSourceThresholdMillis

mongod

タイプ: 整数

デフォルト: 5

セカンダリが候補同期ソースへの切り替えを検討する前に、候補同期ソースが現在の同期ソースよりも優れている必要がある最小レイテンシ改善値(ミリ秒単位)。値が小さいほど、セカンダリは小さなレイテンシの違いに対してより敏感になり、同期ソースの変更数が増加します。高い値にすると、同じようなレイテンシを持つ候補間での切り替えが減ります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

For example, to set changeSyncSourceThresholdMillis for a mongod instance to 200 using the setParameter command within mongosh:

db.adminCommand( { setParameter: 1, changeSyncSourceThresholdMillis: 200 } )
connectTimeoutMs

mongod

タイプ: 整数

デフォルト: 10000

レプリカセットモニターの接続タイムアウトをミリ秒単位で設定します。

このパラメーターは、スタートアップ時にのみ使用できます。このパラメータを設定する場合は、500 以上である必要があります。

次の例では、mongod インスタンスの connectTimeoutMs を 700 ミリ秒に設定します。

mongod --setParameter connectTimeoutMs=700
createRollbackDataFiles

mongod

タイプ: ブール値

デフォルト: true

MongoDB がロールバック中に影響を受けたドキュメントを含むロールバック ファイルを作成するかどうかを決定するフラグです。

By default, createRollbackDataFiles is true and MongoDB creates the rollback files.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets createRollbackDataFiles to false so that the rollback files are not created:

mongod --setParameter createRollbackDataFiles=false

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, createRollbackDataFiles: false } )

詳細については、「ロールバック データの収集」を参照してください。

disableSplitHorizonIPCheck

バージョン5.0.0の新機能。

mongod

タイプ: ブール値

デフォルト: false

スプリットホライズンDNS のクラスター ノードを構成するには IP アドレスの代わりにホスト名を使用します。

MongoDB v5.0 以降の replSetInitiate と replSetReconfig では、ホスト名の代わりに IP アドレスを使用する設定は拒否します。

Use disableSplitHorizonIPCheck to modify nodes that cannot be updated to use host names. The parameter only applies to the configuration commands.

mongod および mongos は、スタートアップ時の検証に disableSplitHorizonIPCheck に依存しません。ホスト名の代わりに IP アドレスを使用するレガシー mongod および mongos インスタンスは、アップグレード後に起動できます。

IP アドレスで設定されたインスタンスでは、IP アドレスの代わりにホスト名を使用するように警告がログに記録されます。

IP アドレスを使用した構成の変更を行うには、次のコマンドラインを使用して disableSplitHorizonIPCheck=true を設定します。

/usr/local/bin/mongod --setParameter disableSplitHorizonIPCheck=true -f /etc/mongod.conf

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

setParameter:
disableSplitHorizonIPCheck: true
enableFlowControl

mongod

タイプ: ブール値

デフォルト: true

セカンダリ ノードの majority committed ラグを構成可能上限以下に保つことを目的として、プライマリが書き込みを行うレートを制御するメカニズムを有効または無効にします。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

enableOverrideClusterChainingSetting

バージョン5.0.2の新機能。

mongod

タイプ: ブール値

デフォルト: false

If enableOverrideClusterChainingSetting is true, replica set secondary members can replicate data from other secondary members even if settings.chainingAllowed is false.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set the enableOverrideClusterChainingSetting for a mongod instance to true:

mongod --setParameter enableOverrideClusterChainingSetting=true
flowControlTargetLagSeconds

mongod

タイプ: 整数

デフォルト: 10

フロー制御で実行する場合に指標となる最大 majority committed ラグです。フロー制御が有効になっている場合、このメカニズムでは majority committed ラグを指定された秒数未満に維持しようとします。フロー制御が無効になっている場合、このパラメーターによる影響はありません。

0 より大きい値を指定しなければなりません。

一般的には、デフォルト設定のままで十分ですが、デフォルト値を変更する場合、値を増やすのではなく減らした方がより有用な場合があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

flowControlWarnThresholdSeconds

mongod

タイプ: 整数

デフォルト: 10

フロー制御メカニズムが過半数のコミット ポイントが移動していないことを検出してからログに警告を記録するまでの待ち時間。

指定する値は 0 以上である必要があり、0 の場合は警告が無効になります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

heartBeatFrequencyMs

mongod

タイプ: 整数

デフォルト: 10000

When replicaSetMonitorProtocol is set to 'sdam', heartBeatFrequencyMs determines how long, in milliseconds, to wait between hello requests.

When replicaSetMonitorProtocol is set to 'streamable', heartBeatFrequencyMs determines how long, in milliseconds, to wait between hello round trip time (RTT) measurements. RTT measurements are used in server selection.

このパラメーターは、スタートアップ時にのみ使用できます。このパラメータを設定する場合は、500 以上である必要があります。

次の例では、mongod インスタンスの heartBeatFrequencyMs を 700 ミリ秒に設定します。

mongod --setParameter heartBeatFrequencyMs=700
initialSyncIndexBuildMemoryPercentage

バージョン 8.2 の新機能:(および 8.0.13、7.0.26)

mongod

型: double

デフォルト: 10.0

The percentage of system memory that MongoDB allocates for index builds during initial sync. The amount of system memory used is bound by the values of initialSyncIndexBuildMemoryMinMB and initialSyncIndexBuildMemoryMaxMB.

0.0 から 80.0 までの値を指定できます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

例、mongodインスタンスの initialSyncIndexBuildMemoryPercentage を 40% に設定するには、次のようにします。

mongod --setParameter initialSyncIndexBuildMemoryPercentage=40
initialSyncIndexBuildMemoryMaxMB

バージョン 8.2 の新機能:(および 8.0.13、7.0.26)

mongod

タイプ: 整数

デフォルト: 16384

MongoDB が最初の同期中にインデックス構築に使用できるシステムメモリの最大量(メガバイト単位)。

50 から 10000000 までの値を指定できます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

例、mongodインスタンスの initialSyncIndexBuildMemoryMaxMB を 20000 MB に設定するには、次の操作を実行します。

mongod --setParameter initialSyncIndexBuildMemoryMaxMB=20000
initialSyncIndexBuildMemoryMinMB

バージョン 8.2 の新機能:(および 8.0.13、7.0.26)

mongod

タイプ : 整数

デフォルト: 200

MongoDB が最初の同期中にインデックス構築に使用できるシステムメモリの最小量(メガバイト単位)。

50 から 10000000 までの値を指定できます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

例、mongodインスタンスの initialSyncIndexBuildMemoryMinMB を 60 MB に設定するには、次の操作を実行します。

mongod --setParameter initialSyncIndexBuildMemoryMinMB=60
initialSyncMethod

バージョン5.2の新機能。

mongod

タイプ: string

デフォルト: logical

MongoDB Enterprise でのみ利用可能です。

最初の同期に使用される方法です。

論理的な最初の同期を使用するには、logical に設定します。ファイル コピー ベースの最初の同期を使用するには、fileCopyBased に設定します。

このパラメーターは、指定されたノードの同期方法にのみ影響します。このパラメーターを 1 つのレプリカセット ノードに設定しても、他のレプリカセット ノードの同期方法には影響しません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

If the initialSyncMethod parameter for the cluster is fileCopyBased, then there is no impact on change stream listeners.

initialSyncMethod が logical で、新しく同期されたノードで変更ストリームが開かれ、 論理的な最初の同期の完了より前の点でのイベントが読み取られる場合、変更前と変更後のイメージが欠落している可能性があります。

initialSyncSourceReadPreference

mongod

タイプ: string

最初の同期を実行するための推奨ソースです。次のいずれかの読み込み設定 (read preference) モードを指定します。

If the replica set has disabled chaining, the default initialSyncSourceReadPreference read preference mode is primary.

You cannot specify a tag set or maxStalenessSeconds to initialSyncSourceReadPreference.

mongod が指定された読み込み設定 (read preference) に基づいて同期ソースを見つけられない場合は、エラーをログに記録し、最初の同期プロセスを再開します。10 回試行した後に最初の同期プロセスを完了できない場合、mongod はエラーで終了します。同期ソースの選択の詳細については、「最初の同期ソースの選択」を参照してください。

initialSyncSourceReadPreference takes precedence over the replica set's settings.chainingAllowed setting when selecting an initial sync source. After a replica set member successfully completes initial sync, it defers to the value of chainingAllowed when selecting a replication sync source.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

initialSyncTransientErrorRetryPeriodSeconds

mongod

タイプ: 整数

デフォルト: 86400

一時的なネットワークエラーによって中断された場合に、最初の同期を実行するセカンダリがプロセスの再開を試みる時間(秒単位)。デフォルト値は 24 時間に相当します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

localLogicalSessionTimeoutMinutes

mongod

タイプ: 整数

デフォルト: 30

警告

テスト目的のみ

このパラメーターはテスト目的のみで使用するものであり、本番環境での使用を目的としたものではありません。

セッションが最後に使用されてからアクティブな状態である時間(分単位)。クライアントから新しい読み取りもしくは書き込み操作を受信していないセッション、またはこのしきい値内に refreshSessions で更新されていないセッションは、キャッシュからクリアされます。 期限切れのセッションに関連付けられた状態は、サーバーによっていつでもクリーンアップされる可能性があります。

このパラメーターは、それが設定されているインスタンスにのみ適用されます。レプリカセットとシャーディングされたクラスターにこのパラメーターを設定するには、すべてのノードに同じ値を指定する必要があります。そうでない場合は、セッションが正しく機能しません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set the localLogicalSessionTimeoutMinutes for a test mongod instance to 20 minutes:

mongod --setParameter localLogicalSessionTimeoutMinutes=20
localThresholdMs

mongod

タイプ: 整数

デフォルト: 15

サーバー選択に使用されるレイテンシ ウィンドウの長さをミリ秒単位で定義します。

このパラメーターは、スタートアップ時にのみ使用できます。このパラメータを設定する場合は、0 以上である必要があります。

次の例では、mongod インスタンスの localThresholdMs を 20 ミリ秒に設定します。

mongod --setParameter localThresholdMs=20
logicalSessionRefreshMillis

mongod

タイプ: 整数

デフォルト: 300000(5 分)

キャッシュがメイン セッション ストアに対して論理セッション レコードをリフレッシュする間隔(ミリ秒単位)。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set the logicalSessionRefreshMillis for a mongod instance to 10 minutes:

mongod --setParameter logicalSessionRefreshMillis=600000
maxAcceptableLogicalClockDriftSecs

mongod

タイプ: 整数

デフォルト:31536000(1年)

The maximum amount by which the current cluster time can be advanced; specifically, maxAcceptableLogicalClockDriftSecs is the maximum difference between the new value of the cluster time and the current cluster time. Cluster time is a logical time used for ordering of operations.

You cannot advance the cluster time to a new value if the new cluster time differs from the current cluster time by more than maxAcceptableLogicalClockDriftSecs.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set the maxAcceptableLogicalClockDriftSecs for a mongod instance to 15 minutes:

mongod --setParameter maxAcceptableLogicalClockDriftSecs=900
maxNumSyncSourceChangesPerHour

mongod

バージョン 5.0 の新機能。

タイプ: 整数

デフォルト: 3

同期ソースは、同期ソースが更新されるたび、およびノードが oplog エントリのバッチを取得するたびに評価されます。1 時間に maxNumSyncSourceChangesPerHour を超えるソース変更があった場合、ノードはその同期ソースの再評価を一時的に停止します。このパラメーターに大きい値を設定すると、ノードが不要なソース変更を行う可能性があります。

このパラメーターは、ノードが同期ソースを持っていない場合、ノードが別のノードから同期を開始するのを防ぐものではありません。同期ソースが無効になると、ノードは再評価を行います。同様に、プライマリが変更されてチェーニングが無効になっている場合、ノードは新しいプライマリと同期するように更新されます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

maxSessions

mongod

タイプ: 整数

デフォルト: 1000000

キャッシュできるセッションの最大数です。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set the maxSessions for a mongod instance to 1000:

mongod --setParameter maxSessions=1000
maxSyncSourceLagSecs

mongod

タイプ: 整数

デフォルト: 30

The maximum lag, in seconds, that a candidate sync source can have relative to the newest oplog entry on the primary and still qualify as an eligible sync source. If a candidate's most recent oplog entry is more than maxSyncSourceLagSecs seconds behind the primary, MongoDB rejects it as a sync source.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set maxSyncSourceLagSecs for a mongod instance to 20:

mongod --setParameter maxSyncSourceLagSecs=20
minWaitForStreamingHelloMillis

タイプ: 整数

デフォルト: 500

Specifies the minimum effective timeout, in milliseconds, that the server enforces for streaming hello commands sent by unauthenticated clients. If an unauthenticated client supplies a maxAwaitTimeMS value below this floor, the server either clamps the timeout up to this value or rejects the command, depending on abortStreamingHelloWithSmallTimeout.

このパラメーターは、非常に小さな maxAwaitTimeMS 値でストリーミング hello コマンドを送信する認証されていないクライアントによる過度な CPU 使用を軽減します。

値は 0 以上である必要があります。0 の値は適用を無効にします。認証されたクライアントは影響を受けません。また、このパラメータに関係なく、トポロジーの変更によって待機中のクライアントはすぐにウェイクアップされます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時に minWaitForStreamingHelloMillis を 1000 ミリ秒に設定しています。

mongod --setParameter minWaitForStreamingHelloMillis=1000
mongos --setParameter minWaitForStreamingHelloMillis=1000

次の例では、setParameter コマンドを使用して minWaitForStreamingHelloMillis を 1000 ミリ秒に設定します。

db.adminCommand( { setParameter: 1, minWaitForStreamingHelloMillis: 1000 } )
mirrorReads

mongod

型: ドキュメント

デフォルト: { samplingRate: 0.01, maxTimeMS: 1000 }

mongod インスタンスのミラーリングされた読み取り の設定を指定します。設定が有効になるのは、そのノードがプライマリである場合のみです。

The parameter mirrorReads takes a JSON document with the following fields:

フィールド
説明

samplingRate

ミラーリングをサポートする操作のサブセットを、選択可能なセカンダリ(具体的には priority greater than 0)のサブセットへミラーリングするために使用するサンプリング レート。つまり、プライマリは、指定されたサンプリング レートで選択可能な各セカンダリに読み取りをミラーリングします。

有効な値は次のとおりです。

0.0
ミラーリングをオフにします。
1.0
プライマリは、ミラーリングをサポートするすべての操作を、選択可能な各セカンダリにミラーリングします。
0.0 から 1.0 までの数字(両端を含まない)
プライマリは、選択可能な各セカンダリを指定されたレートでランダムにサンプリングし、ミラーリングされた読み取りを送信します。

たとえば、プライマリと 2 つの選択可能なセカンダリがあり、サンプリングレートが 0.10 のレプリカセットでは、プライマリは選択可能な各セカンダリに対して 10% のサンプリングレートで読み取りをミラーリングします。これにより、ある読み取りは一方のセカンダリにミラーリングされ、もう一方のセカンダリにはミラーリングされない、または両方にミラーリングされる、もしくはどちらにもミラーされない場合があります。つまり、プライマリがミラーリング可能な 100 の操作を受け取った場合、サンプリングレートが 0.10 では、一方のセカンダリには 8 個の読み取りが、もう一方のセカンダリには 13 個の読み取りがミラーリングされたり、それぞれに 10 個の読み取りがミラーリングされたりという結果になります。

デフォルト値は 0.01 です。

maxTimeMS

ミラーリングされた読み取りの最大時間(ミリ秒単位)。デフォルト値は 1000 です。

ミラーリングされた読み取りの maxTimeMS は、ミラーリングされる元の読み取りの maxTimeMS とは異なります。

targetedMirroring

キャッシュウォーミングの対象となるノードを設定するフィールドが含まれています。ターゲット ミラーリングの詳細については、ターゲットを絞ったミラーリングされた読み取り を参照してください。

次のフィールドが含まれます:

tag

デフォルトは空の BSONObj です。ミラーリングの対象となるノードをターゲットにするために使用できるレプリカセットタグ 。次の構文を使用して、ターゲット ミラーリング用にノードを構成できます。

tag: { "<tag1>": "<string1>" }

入力できるタグは 1 つだけです。これらのタグを持つ同じレプリカセット内のすべてのノードが対象となります。

samplingRate

型: float

範囲: 0.0 から 1.0(この値を含む)

対象を絞った読み取りが 1 つまたは複数のホストにミラーリングされるレート。レートが 0.0 の場合は読み取りはミラーリングされないことを意味し、レートが 1.0 の場合はすべての読み取りがミラーリングされます。samplingRate のデフォルトは 0.01 ですが、tagフィールドのデフォルトは空であるため、targetedMirroring 機能はデフォルトでオフになっています。

maxTimeMS

タイプ: int

ミラーリングされた読み取りがタイムアウトするまでの最大時間(ミリ秒単位)。maxTimeMS の最小値は 0 です。デフォルトは 1000 です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

構成ファイルから、またはコマンドラインで を指定する場合は、 mirrorReadsドキュメントを引用符で囲みます。

たとえば、次の例では、コマンドラインからミラーリング読み取りのサンプリングレートを 0.10 に設定します。

mongod --setParameter mirrorReads='{ samplingRate: 0.10 }'

または、構成ファイルに次のように指定します。

setParameter:
mirrorReads: '{samplingRate: 0.10}'

Or if using the setParameter command in a mongosh session that is connected to a running mongod, do not enclose the document in quotes:

db.adminCommand( { setParameter: 1, mirrorReads: { samplingRate: 0.10 } } )
mirrorReadsMaxConnPoolSize

バージョン8.2の新機能。

タイプ: int

デフォルト: 4

ミラーリング プール内の最大接続数を制御します。このパラメータは、一般的な読み取りと対象を絞ったミラーリングされた読み取りの両方に影響します。mirrorReadsMaxConnPoolSize の最小値は 1 です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

oplogBatchDelayMillis

バージョン6.0の新機能。

mongod

タイプ: 整数

デフォルト: 0

セカンダリ ノードで oplog 操作のバッチの適用を遅延させる時間(ミリ秒数)。デフォルトでは、oplogBatchDelayMillis は 0 であり、oplog バッチが遅延なく適用されることを意味します。遅延がない場合、MongoDB は頻繁に小さな oplog バッチをセカンダリに適用することがあります。

oplogBatchDelayMillis を増やすと、MongoDB はセカンダリに oplog バッチを適用する頻度が低くなり、各バッチに含まれるデータの量が増えます。これにより、セカンダリの IOPS は削減されますが、書込み保証 (write concern) "majority". による書き込み (write)のレイテンシが増加します。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

たとえば、mongod インスタンスのoplogBatchDelayMillis を 20 ミリ秒に設定するには、次のコマンドを実行します。

mongod --setParameter oplogBatchDelayMillis=20
oplogFetcherUsesExhaust

mongod

タイプ: ブール値

デフォルト: true

ストリーミングレプリケーションを有効または無効にします。ストリーミングレプリケーションを有効にするには、値を true に設定します。

ストリーミングレプリケーションを無効にするには、値を false に設定します。無効にすると、セカンダリはソースから同期のリクエストを発行して応答を待つことで、oplog エントリのバッチを取得します。これには、oplog エントリのバッチごとにネットワーク上の往復が必要です。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

oplogInitialFindMaxSeconds

mongod

タイプ: 整数

デフォルト: 60

データ同期中、レプリカセットのノードが find コマンドの完了まで待機する最長時間(秒)です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

periodicNoopIntervalSecs

mongod

タイプ: 整数

デフォルト: 10

各ノードでの noop の書込み (write) 間隔(秒単位)。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

注意

MongoDB Atlas クラスターのこの値を変更するには、Atlas サポートに問い合わせる必要があります。

次の例では、起動時に periodicNoopIntervalSecs を 1 秒に設定します。

mongod --setParameter periodicNoopIntervalSecs=1
replBatchLimitBytes

mongod

Default: 104857600 (100MB)

oplog アプリケーションの最大バッチ サイズをバイト単位で設定します。

値の範囲は 16777216(16 MB)から 104857600(100 MB)までです。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets replBatchLimitBytes to 64 MB to limit the oplog application batch size:

mongod --setParameter replBatchLimitBytes=67108864

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, replBatchLimitBytes: 64 * 1024 * 1024 } )
replicaSetMonitorProtocol

mongod

型: string

デフォルト: "ストリーム可能"

使用するレプリカ セット モニター プロトコルを決定します。このパラメータを "streamable" に設定すると、Server Discovery and Monitoring(SDAM) 仕様に準拠し、hello リクエストを一定に保つことができます。このパラメータを "sdam"に設定することもできます。これは SDAM 仕様に準拠しています。

このパラメーターは、スタートアップ時にのみ使用できます。

次の例では、mongod インスタンスで replicaSetMonitorProtocol を "sdam" に設定します。

mongod --setParameter replicaSetMonitorProtocol='sdam'
replWriterMinThreadCount

バージョン 5.0 の新機能。

mongod

タイプ: 整数

デフォルト: 0

複製された操作を並列に適用するために使用するスレッドの最小数。値の範囲は 0 から 256 までです。

Parallel application of replication operations uses up to replWriterThreadCount threads. If replWriterMinThreadCount is configured with a value less than replWriterThreadCount, the thread pool will timeout idle threads until the total count of threads in the thread pool is equal to replWriterMinThreadCount.

replWriterMinThreadCount must be less than or equal to replWriterThreadCount. MongoDB rejects the update if you set replWriterMinThreadCount to a value greater than replWriterThreadCount.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

replWriterThreadCount

mongod

タイプ: 整数

デフォルト: 16

複製された操作を並列に適用するために使用するスレッドの最大数。値の範囲は 1 から 256 までです。ただし、使用されるスレッドの最大数は、使用可能なコア数の 4 倍に制限されます。

replWriterThreadCount must be greater than or equal to replWriterMinThreadCount. MongoDB rejects the update if you set replWriterThreadCount to a value less than replWriterMinThreadCount.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

rollbackTimeLimitSecs

mongod

型: 64 ビット整数

デフォルト: 86400(1 日)

ロールバックできるデータの最大経過時間。このパラメーターでは負の値は無効です。

ロールバック対象インスタンスの oplog が終了してから、共通点(ソース ノードとロールバック対象ノードが同じデータを持っていた最後のポイント)の後の最初の操作までの時間がこの値を超えると、ロールバックは失敗します。

実質的に無制限のロールバック期間を設定するには、値を 2147483647 に設定します。これは許容される最大値であり、約 68 年に相当します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

sessionCatalogPartitions

mongod

バージョン9.0.1の新機能。

タイプ: 整数

デフォルト: 0

セッションカタログ内のパーティション数を指定します。セッションカタログをパーティショニングすると、セッション数が多い場合のロック競合が軽減されます。

0 のデフォルト値は、mongod プロセスで使用可能なコア数の 2 倍に設定されます(最大 64 まで)。0 より大きい値を設定した場合、MongoDB はその値をパーティション数として使用します。

重要

デフォルト値を変更することは推奨されません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set sessionCatalogPartitions for a mongod instance to 16:

mongod --setParameter sessionCatalogPartitions=16
TransactionRecordMinimumLifetimeMinutes

mongod

タイプ: 整数

デフォルト: 30

レコードがクリーンアップの対象となるまでに transactions コレクションにトランザクションレコードが存在する最低限の期間です。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, to set the TransactionRecordMinimumLifetimeMinutes for a mongod instance to 20 minutes:

mongod --setParameter TransactionRecordMinimumLifetimeMinutes=20
waitForSecondaryBeforeNoopWriteMS

mongod

タイプ: 整数

デフォルト: 10

afterClusterTime が oplog から最後に適用された時間よりも大きい場合にセカンダリが待機する必要がある時間(ミリ秒単位)。waitForSecondaryBeforeNoopWriteMS が経過した後に、afterClusterTime が最後に適用された時間よりもまだ大きい場合、セカンダリは最後に適用された時間を進めるためにノーオペレーション(no-op)書き込みを行います。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets the waitForSecondaryBeforeNoopWriteMS to 20 milliseconds:

mongod --setParameter waitForSecondaryBeforeNoopWriteMS=20

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, waitForSecondaryBeforeNoopWriteMS: 20 } )
analyzeShardKeyCharacteristicsDefaultSampleSize

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 10000000

analyzeShardKey を実行するときに sampleRate と sampleSize が設定されていない場合、シャードキー特性メトリクスを計算するときにサンプリングするドキュメントの数を指定します。0 より大きくする必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時にanalyzeShardKeyCharacteristicsDefaultSampleSize に 10000 を設定します。

mongod --setParameter analyzeShardKeyCharacteristicsDefaultSampleSize=10000

実行中に、setParameter コマンドを使用してパラメーターを設定または変更できます。

db.adminCommand( { setParameter: 1, analyzeShardKeyCharacteristicsDefaultSampleSize: 10000 } )
analyzeShardKeyMonotonicityCorrelationCoefficientThreshold

バージョン7.0の新機能。

mongod

型: double

デフォルト: 0.7

シャードキーが挿入順で単調に変化しているかを判断するために使用される RecordId 相関係数のしきい値を指定します。0 より大きく、1 以下である必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時にanalyzeShardKeyMonotonicityCorrelationCoefficientThreshold に 1 を設定します。

mongod --setParameter analyzeShardKeyMonotonicityCorrelationCoefficientThreshold=1

実行中に、setParameter コマンドを使用してパラメーターを設定または変更できます。

db.adminCommand( { setParameter: 1, analyzeShardKeyMonotonicityCorrelationCoefficientThreshold: 1 } )
analyzeShardKeyNumMostCommonValues

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 5

返却する最も一般的なシャードキー値の数を指定します。コレクションに含まれる一意のシャードキーの数がこの値より少ない場合、analyzeShardKeyNumMostCommonValues はその最も一般的な値の数を返します。0 より大きく、1000 以下である必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時にanalyzeShardKeyNumMostCommonValues に 3 を設定します。

mongod --setParameter analyzeShardKeyNumMostCommonValues=3

実行中に、setParameter コマンドを使用してパラメーターを設定または変更できます。

db.adminCommand( { setParameter: 1, analyzeShardKeyNumMostCommonValues: 3 } )
analyzeShardKeyNumRanges

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 100

シャードキー範囲のホットネス(アクセス頻度)を計算するときに、シャードキースペースを分割する範囲の数を指定します。0 より大きく、10000 以下である必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時にanalyzeShardKeyNumRanges に 50 を設定します。

mongod --setParameter analyzeShardKeyNumRanges=50

実行中に、setParameter コマンドを使用してパラメーターを設定または変更できます。

db.adminCommand( { setParameter: 1, analyzeShardKeyNumRanges: 50 } )
analyzeShardKeyNumSamplesPerRange

バージョン7.0の新機能。

mongod

タイプ: 非負整数

デフォルト: 10

シャードキーの範囲ごとにサンプルするドキュメントの数。0 より大きく、10000 以下の値である必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時にanalyzeShardKeyNumSamplesPerRange に 50 を設定します。

mongod --setParameter analyzeShardKeyNumSamplesPerRange=50

実行中に、setParameter コマンドを使用してパラメーターを設定または変更できます。

db.adminCommand( { setParameter: 1, analyzeShardKeyNumSamplesPerRange: 50 } )
autoMergerIntervalSecs

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 3600

AutoMerger が有効な場合、自動マージのラウンド間隔(秒単位)を指定します。デフォルト値は 3600 秒(1 時間)です。

autoMergerIntervalSecs は、コンフィギュレーションサーバーでのみ設定できます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、起動時に autoMergerIntervalSecs を 7200 秒(2 時間)に設定します。

mongod --setParameter autoMergerIntervalSecs=7200

実行中に、setParameter コマンドを使用してパラメーターを設定または変更できます。

db.adminCommand( { setParameter: 1, autoMergerIntervalSecs: 7200 } )
autoMergerThrottlingMS

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 15000

AutoMerger が有効な場合、同じコレクションで AutoMerger によって開始されるマージ間の最小時間(ミリ秒単位)を指定します。

autoMergerThrottlingMS は、コンフィギュレーションサーバーでのみ設定できます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、起動時に autoMergerThrottlingMS を 60000 ミリ秒(1 分)に設定します。

mongod --setParameter autoMergerThrottlingMS=60000

実行中に、setParameter コマンドを使用してパラメーターを設定または変更できます。

db.adminCommand( { setParameter: 1, autoMergerThrottlingMS: 60000 } )
balancerMigrationsThrottlingMs

バージョン 7.0 の新機能: (6.3.1、6.0.6、5.0.18 以降でも利用可能)

mongod

タイプ: 整数

デフォルト: 1000

連続する 2 つのバランシング ラウンド間隔の最小時間を指定します。これにより、バランシング レートを調整できます。このパラメーターは、コンフィギュレーションサーバー ノードでのみ有効です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、起動時に balancerMigrationsThrottlingMs を 2000 ミリ秒に設定しています。

mongod --setParameter balancerMigrationsThrottlingMs=2000

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, balancerMigrationsThrottlingMs: 2000 } )
catalogCacheCollectionMaxEntries

バージョン 8.1 の新機能(8.0.10、7.0.22 以降でも利用可能)

タイプ: 整数

デフォルト: 10000

mongod

コレクションのカタログキャッシュで許可されるエントリの最大数。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

catalogCacheDatabaseMaxEntries

バージョン 8.1 の新機能(8.0.10、7.0.22 以降でも利用可能)

タイプ: 整数

デフォルト: 10000

mongod

データベースのカタログキャッシュで許可されるエントリの最大数。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

chunkDefragmentationThrottlingMS

バージョン5.3の新機能。

mongod

タイプ: 整数

デフォルト: 1000

Specifies the minimum time period (in milliseconds) between consecutive split and merge commands run by the balancer when the chunks in a sharded collection are defragmented. chunkDefragmentationThrottlingMS limits the rate of split and merge commands.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets chunkDefragmentationThrottlingMS to 10 milliseconds:

mongod --setParameter chunkDefragmentationThrottlingMS=10

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, chunkDefragmentationThrottlingMS: 10 } )
directConnectionChecksWithSingleShard

バージョン7.0.12の新機能。

mongod

タイプ: ブール値

デフォルト:MongoDB 8.0.10 以降では true です

単一のシャードを持つシャーディングされたクラスターに設定すると、直接接続の警告が有効になります。ユーザーが単一シャード クラスターに直接接続した場合、mongod は 1 時間ごとに警告をログに記録し、不正な直接シャード操作で shardingStatistics.unauthorizedDirectShardOps を更新します。

これを回避するには、ユーザーは mongos などのルーターを介して単一シャード クラスターに接続する必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

disableResumableRangeDeleter

mongod

タイプ: ブール値

デフォルト: false

シャードのプライマリに設定されている場合、 MongoDB がシャードで範囲の削除を一時停止するかどうかを指定します。trueに設定すると、 MongoDB は孤立したドキュメント を含む 範囲 のクリーンアップを一時停止します。シャードは引き続き他のシャードにチャンクを提供できますが、このパラメータを false に設定するまで、シャードは提供されたドキュメントを削除しません。このシャードは、受信チャンクの範囲と重複するconfig.rangeDeletionsコレクションに保留中の範囲削除タスクがない限り、他のシャードからチャンクを引き続き受け取ることができます。

When disableResumableRangeDeleter is true, chunk migrations fail if orphaned documents exist on the recipient shard's primary in the same range as the incoming chunks.

シャードのプライマリでない場合、このパラメーターは mongod には影響しません。

重要

If you set disableResumableRangeDeleter parameter to true, ensure that you apply it consistently for all members in the shard's replica set. In the event of a failover, this setting's value on the new primary dictates the behavior of the range deleter.

MongoDB 8.0 以降では、スタートアップと実行時の両方で disableResumableRangeDeleter を設定できます。

スタートアップ時に disableResumableRangeDeleter を設定するには、次の コマンドを使用します。

mongod --setParameter disableResumableRangeDeleter=false

実行時に disableResumableRangeDeleter を設定するには、次のコマンドを使用します。

db.adminCommand( { setParameter: 1, disableResumableRangeDeleter: false } )
enableFinerGrainedCatalogCacheRefresh

注意

8.0 で非推奨

MongoDB 8.0 以降では、パラメータは非推奨となり、変更やエラーは発生しません。

mongod

タイプ: ブール値

デフォルト: true

このパラメータにより、シャードを更新する必要がある場合にのみカタログ キャッシュを更新可能になります。無効の場合、古いチャンクがあると、コレクションのチャンク配布全体が古いと見なされ、シャードにアクセスするすべてのルーターにシャード カタログ キャッシュの更新が強制されます。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

mongod --setParameter enableFinerGrainedCatalogCacheRefresh=true
mongos --setParameter enableFinerGrainedCatalogCacheRefresh=true
enableShardedIndexConsistencyCheck

mongod

タイプ: ブール値

デフォルト: true

コンフィギュレーションサーバーのプライマリに設定されている場合、シャーディングされたコレクションのインデックス整合性チェックを有効または無効にします。コンフィギュレーションサーバーのプライマリでない場合、このパラメーターは mongod には影響しません。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets enableShardedIndexConsistencyCheck to false for a config server primary:

mongod --setParameter enableShardedIndexConsistencyCheck=false

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, enableShardedIndexConsistencyCheck: false } )

Tip

findChunksOnConfigTimeoutMS

バージョン 5.0 の新機能。

mongod

タイプ: 非負整数

デフォルト: 900000

chunksでの検索操作のタイムアウト時間(ミリ秒)。

クラスターに多数のチャンクがあり、チャンクのロードがエラー ExceededTimeLimit で失敗する場合は、次のようにパラメーターの値を増やしてください。

mongod --setParameter findChunksOnConfigTimeoutMS=1000000

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

findShardsOnConfigTimeoutMS

mongod

バージョン8.3の新機能。

タイプ: 非負整数

デフォルト : 20000 ミリ秒

config.shards名前空間に対する find 操作のタイムアウト時間(ミリ秒)。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、実行時に findShardsOnConfigTimeoutMS を 30000 ミリ秒に設定します。

db.adminCommand( { setParameter: 1, findShardsOnConfigTimeoutMS: 30000 } )

次の例では、スタートアップ時に findShardsOnConfigTimeoutMS を 30000 ミリ秒に設定しています。

mongos --setParameter findShardsOnConfigTimeoutMS=30000
loadRoutingTableOnStartup

mongos

タイプ: ブール値

デフォルト: true

シャーディングされたクラスターのルーティングテーブルを起動時にプリロードするように mongos インスタンスを設定します。この設定を有効にすると、mongos は、クライアント接続の受け入れを開始する前に、起動手順の一部として、各シャーディングされたコレクションのクラスター全体のルーティング テーブルをキャッシュします。

この設定が有効になっていない場合、mongos は受信クライアント接続に必要なルーティング テーブルのみをロードし、与えられたリクエストの名前空間の特定のルーティング テーブルのみをロードします。

A mongos instance with the loadRoutingTableOnStartup parameter enabled may experience longer startup times, but will result in faster servicing of initial client connections once started.

loadRoutingTableOnStartup は、デフォルトで有効になっています。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

maxCatchUpPercentageBeforeBlockingWrites

バージョン 5.0 の新機能。

mongod

タイプ: 整数

デフォルト: 10

moveChunk および moveRange 操作の場合、 catchupフェーズから commit フェーズに移行するために移行プロトコルによって許可される未転送データの最大パーセンテージ(合計チャンク サイズの割合で表す)を指定します。

キャッチアップ率を高く設定すると、移行が完了するまでの時間は短縮されますが、upsert および delete 操作の同時実行時のレイテンシが高くなります。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

MongoDB 7.1(および 7.0.1)以降では、実行時にパラメータを設定できます。

たとえば、最大パーセンテージを 20 に設定するには、起動時に以下を発行します。

mongod --setParameter maxCatchUpPercentageBeforeBlockingWrites=20

MongoDB 7.1(および 7.0.1)以降では、次のように setParameter コマンドを使用して実行時にパラメーターを設定できます。

db.adminCommand( { setParameter: 1, maxCatchUpPercentageBeforeBlockingWrites: 20} )
maxTimeMSForHedgedReads

重要

MongoDB 8.1 以降では、ヘッジされた読み取りは削除され、このパラメーターは効果がありません。

metadataRefreshInTransactionMaxWaitBehindCritSecMS

非推奨

注意

MongoDB 8.1 以降では、古い metadataRefreshInTransactionMaxWaitBehindCritSecMS パラメータの名前が metadataRefreshInTransactionMaxWaitMS に変更されます。パラメータ名として metadataRefreshInTransactionMaxWaitBehindCritSecMS を引き続き使用できますが、これは非推奨であり、今後のMongoDBリリースで削除される予定です。

バージョン 5.2 の新機能(5.1.0、5.0.4 以降でも利用可能)

バージョン8.1で変更。

mongod

タイプ: 整数

デフォルト: 500

トランザクション内の重要なセクションに対するシャードの待ち時間を制限します。

クエリがシャードにアクセスしたときに、チャンク移行またはDDL 操作によってコレクションのクリティカル セクションがすでに専有されている可能性があります。クエリでクリティカルセクションが専有されていることが検出された場合、シャードはクリティカル セクションが解放されるまで待機します。シャードが制御を mongos に戻すと、mongos はクエリを再試行します。ただし、マルチシャード トランザクションが、複数のシャードのクリティカル セクションを占有する操作とやりとりする場合、そのやりとりにより分散デッドロックが発生する可能性があります。

metadataRefreshInTransactionMaxWaitBehindCritSecMS は、クリティカル セクションが解放されるまで、シャードがトランザクション内で待機する最大時間を制限します。

To reduce the maximum wait time for the critical section within a transaction, lower the value of metadataRefreshInTransactionMaxWaitBehindCritSecMS.

警告

If metadataRefreshInTransactionMaxWaitBehindCritSecMS is too low, mongos could use all of its retry attempts and return an error.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

For example, to set metadataRefreshInTransactionMaxWaitBehindCritSecMS to 400 milliseconds:

db.adminCommand( { setParameter: 1, metadataRefreshInTransactionMaxWaitBehindCritSecMS: 400 } )
metadataRefreshInTransactionMaxWaitMS

バージョン8.1で変更。

mongod

タイプ: 整数

デフォルト: 500

トランザクション内の重要なセクションに対するシャードの待ち時間を制限します。

注意

MongoDB 8.1 以降では、古い metadataRefreshInTransactionMaxWaitBehindCritSecMS パラメータの名前が metadataRefreshInTransactionMaxWaitMS に変更されます。パラメータ名として metadataRefreshInTransactionMaxWaitBehindCritSecMS を引き続き使用できますが、これは非推奨であり、今後のMongoDBリリースで削除される予定です。

クエリがシャードにアクセスしたときに、チャンク移行またはDDL 操作によってコレクションのクリティカル セクションがすでに専有されている可能性があります。クエリでクリティカルセクションが専有されていることが検出された場合、シャードはクリティカル セクションが解放されるまで待機します。シャードが制御を mongos に戻すと、mongos はクエリを再試行します。ただし、マルチシャード トランザクションが、複数のシャードのクリティカル セクションを占有する操作とやりとりする場合、そのやりとりにより分散デッドロックが発生する可能性があります。

metadataRefreshInTransactionMaxWaitMS は、クリティカル セクションが解放されるまで、シャードがトランザクション内で待機する最大時間を制限します。

To reduce the maximum wait time for the critical section within a transaction, lower the value of metadataRefreshInTransactionMaxWaitMS.

警告

If metadataRefreshInTransactionMaxWaitMS is too low, mongos could use all of its retry attempts and return an error.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

For example, to set metadataRefreshInTransactionMaxWaitMS to 400 milliseconds:

db.adminCommand( { setParameter: 1, metadataRefreshInTransactionMaxWaitMS: 400 } )
migrateCloneInsertionBatchDelayMS

mongod

タイプ: 非負整数

デフォルト: 0

移行プロセスのクローン作成ステップ中に挿入バッチの間で待機する時間(ミリ秒)。この待機時間は、secondaryThrottle に追加されます。

デフォルト値の 0 は、追加の待機がないことを示します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following sets the migrateCloneInsertionBatchDelayMS to 200 milliseconds:

mongod --setParameter migrateCloneInsertionBatchDelayMS=200

このパラメーターは次のように setParameter コマンドを使用して設定することもできます。

db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchDelayMS: 200 } )
migrateCloneInsertionBatchSize

mongod

タイプ: 非負整数

デフォルト: 0

移行プロセスのクローン作成ステップで、1つのバッチに挿入するドキュメントの最大数。

デフォルト値 0 は、バッチあたりのドキュメントの最大数がないことを示します。ただし、実際には、最大 16 MB のドキュメントを含むバッチが生成されます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following sets the migrateCloneInsertionBatchSize to 100 documents:

mongod --setParameter migrateCloneInsertionBatchSize=100

このパラメーターは次のように setParameter コマンドを使用して設定することもできます。

db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchSize: 100 } )
mongosShutdownTimeoutMillisForSignaledShutdown

バージョン 5.0 の新機能。

mongos

タイプ: 整数

デフォルト: 15000

SIGTERM シグナルに応答して mongos のシャットダウンを開始する前に、進行中のデータベース操作が完了するまで待機する時間(ミリ秒単位)を指定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、時間を 250 ミリ秒に設定するには、起動時に次のコマンドを発行します。

mongos --setParameter mongosShutdownTimeoutMillisForSignaledShutdown=250

Or if using the setParameter command in a mongosh session that is connected to a running mongos:

db.adminCommand( { setParameter: 1, mongosShutdownTimeoutMillisForSignaledShutdown: 250 } )
opportunisticSecondaryTargeting

重要

MongoDB 8.1 以降では、ヘッジされた読み取りは削除され、このパラメーターは効果がありません。

orphanCleanupDelaySecs

バージョン8.2で変更。

mongod

デフォルト: 3600(60 分)

移行されたチャンクがソース シャードから削除されるのを遅延させる最小時間です。

Before deleting a migrated chunk, MongoDB waits for in-progress queries involving the chunk to complete on the shard primary and then waits an additional orphanCleanupDelaySecs seconds.

Starting in 8.2, the behavior of in-progress queries on shard secondaries is determined by terminateSecondaryReadsOnOrphanCleanup.

シャードにストレージの制約がある場合は、この値を一時的に下げることを検討してください。シャード セカンダリで 60 分を超えるクエリを実行中の場合は、この値を増やすことを検討してください。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following sets the orphanCleanupDelaySecs to 20 minutes:

mongod --setParameter orphanCleanupDelaySecs=1200

これは以下のように setParameter コマンドを使用して設定することもできます。

db.adminCommand( { setParameter: 1, orphanCleanupDelaySecs: 1200 } )

Tip

In all versions, the new value of orphanCleanupDelaySecs is only applied to range deletions created after the value is changed. To apply the new value to existing range deletions, force a step down.

persistedChunkCacheUpdateMaxBatchSize

バージョン 7.2 で追加: (および 7.1.1、7.0.4、6.0.13、5.0.25)

mongod

型: 整数

デフォルト: 1000

操作をルーティングして処理するには、シャードがコレクションに関連するルーティング情報と所有者情報を知っている必要があります。この情報は、内部キャッシュコレクション config.cache.collections と config.cache.chunks.<collectionName> のレプリケーションを通して、シャードのプライマリノードからセカンダリ ノードに伝わります。

以前のバージョンでは、チャンク キャッシュ コレクションのアップデートは個別に実行されていました(つまり、エントリが削除され、新しいエントリが挿入されていた)。 MongoDB 7.2 以降では、これらのアップデートは削除のバッチとそれに続く挿入のバッチの実行として行われます。 アップデートされたロジックにより、多数のチャンクを含むコレクションのパフォーマンスが向上します。

persistedChunkCacheUpdateMaxBatchSize パラメーターは、永続化したチャンク キャッシュの更新に使用される最大バッチ サイズを指定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、起動時に persistedChunkCacheUpdateMaxBatchSize を 700 に設定します。

mongod --setParameter persistedChunkCacheUpdateMaxBatchSize=700

実行時に persistedChunkCacheUpdateMaxBatchSize を設定することもできます。

db.adminCommand( { setParameter: 1, persistedChunkCacheUpdateMaxBatchSize: 700 } )
queryAnalysisSampleExpirationSecs

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 7 * 24 * 3600

サンプリングされたクエリ ドキュメントが TTL モニターによって削除されるまで存在する時間(秒単位)。0 より大きくする必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、mongod インスタンスの起動時に queryAnalysisSampleExpirationSecs を 691200(8 * 24 * 3600)に設定します。

mongod --setParameter queryAnalysisSampleExpirationSecs=691200

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, queryAnalysisSampleExpirationSecs: 691200 } )
queryAnalysisSamplerConfigurationRefreshSecs

バージョン7.0の新機能。

バージョン7.0.1で変更。

mongod

タイプ: 整数

デフォルト: 10

サンプラー(mongos または mongod)がクエリ アナライザのサンプリング レートをリフレッシュする間隔。

configureQueryAnalyzer コマンドで構成されたサンプリング レートは、通過するトラフィックに基づいて、シャーディングされたクラスターの mongos インスタンス、またはレプリカセットの mongod インスタンスに分割されます。mongos または mongod のサンプリング レート割り当てを、通過するトラフィックに対してより応答性を高くするには、この値を小さくします。

デフォルト値を使用することをお勧めします。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

MongoDB 7.0.1 以降では、実行時に queryAnalysisSamplerConfigurationRefreshSecs を設定できます。

次の例では、mongod インスタンスの起動時に queryAnalysisSamplerConfigurationRefreshSecs を 60 秒に設定します。

mongod --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60

次の例では、mongos インスタンスの起動時に queryAnalysisSamplerConfigurationRefreshSecs を 60 秒に設定します。

mongos --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60

値を 30 秒に設定するには、次のコマンドを実行します。

db.adminCommand( { setParameter: 1, queryAnalysisSamplerConfigurationRefreshSecs: 30 } )
queryAnalysisWriterIntervalSecs

バージョン7.0の新機能。

バージョン7.0.1で変更。

mongod

タイプ: 整数

デフォルト: 90

サンプリングされたクエリがディスクに書き込まれる間隔(秒単位)。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

MongoDB 7.0.1 以降では、実行時に queryAnalysisWriterIntervalSecs を設定できます。

次の例では、mongod インスタンスの起動時に queryAnalysisWriterIntervalSecs を 60 秒に設定します。

mongod --setParameter queryAnalysisWriterIntervalSecs=60

値を 60 秒に設定するには、次のコマンドを実行します。

db.adminCommand( { setParameter: 1, queryAnalysisWriterIntervalSecs: 60 } )
queryAnalysisWriterMaxBatchSize

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 100000

一度にディスクに書き込むサンプリングされたクエリの最大数。0 より大きく、100000 以下にする必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、mongod スタートアップのインスタンスで queryAnalysisWriterMaxBatchSize を 1000 に設定します。

mongod --setParameter queryAnalysisWriterMaxBatchSize=1000

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, queryAnalysisWriterMaxBatchSize: 1000 } )
queryAnalysisWriterMaxMemoryUsageBytes

バージョン7.0の新機能。

mongod

タイプ: 整数

デフォルト: 100 * 1024 * 1024

クエリ サンプリング ライターが使用できるメモリの最大量(バイト単位)。制限に到達すると、バッファがフラッシュされるまで、新しいクエリと差分はすべてサンプリングから破棄されます。0 より大きくする必要があります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、mongod スタートアップのインスタンスで queryAnalysisWriterMaxMemoryUsageBytes を 10000000 に設定します。

mongod --setParameter queryAnalysisWriterMaxMemoryUsageBytes=10000000
rangeDeleterBatchDelayMS

mongod

タイプ: 非負整数

デフォルト: 20

範囲移行のクリーンアップ段階で、次の削除バッチまでに待機する時間(ミリ秒単位)。

_secondaryThrottle レプリケーションの遅延は、バッチの削除ごとに発生します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following sets the rangeDeleterBatchDelayMS to 200 milliseconds:

mongod --setParameter rangeDeleterBatchDelayMS=200

このパラメーターは次のように setParameter コマンドを使用して設定することもできます。

db.adminCommand( { setParameter: 1, rangeDeleterBatchDelayMS: 200 } )

Tip

In versions prior to 6.0.3, the new value of rangeDeleterBatchDelayMS is only applied to range deletions created after the value is changed. To apply the new value to existing range deletions, force a step down.

6.0.3 以降、パラメーターの新しい値は、範囲削除がいつ作成されたかに関係なく、アップデート後に処理されたすべての範囲削除に適用されます。

rangeDeleterBatchSize

mongod

タイプ: 非負整数

デフォルト:2147483647 MongoDB5.1.2 と 以降の5.0.6

範囲移行のクリーンアップ段階で削除する各バッチの最大ドキュメント数。

値が 0 の場合、システムがデフォルト値を選択することを示します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets rangeDeleterBatchSize to 32 documents:

mongod --setParameter rangeDeleterBatchSize=32

このパラメーターは次のように setParameter コマンドを使用して設定することもできます。

db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: 32 } )

Tip

In versions prior to 6.0.3, the new value of rangeDeleterBatchSize is only applied to range deletions created after the value is changed. To apply the new value to existing range deletions, force a step down.

6.0.3 以降、パラメーターの新しい値は、範囲削除がいつ作成されたかに関係なく、アップデート後に処理されたすべての範囲削除に適用されます。

readHedgingMode

重要

MongoDB 8.1 以降では、ヘッジされた読み取りは削除され、このパラメーターは効果がありません。

routingTableCacheChunkBucketSize

バージョン7.0.1の新機能。

バージョン7.2で変更。

mongod

タイプ: 整数

デフォルト: 500

チャンク グループ最適化の実装に使用されるルーティング テーブル キャッシュのバケットのサイズを指定します。0 より大きくする必要があります。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

たとえば、mongod のキャッシュ チャンク バケット サイズを 250 に設定するには、起動時に次のコマンドを実行します。

mongod --setParameter routingTableCacheChunkBucketSize=250
shardedIndexConsistencyCheckIntervalMS

mongod

タイプ: 整数

デフォルト: 600000

コンフィギュレーションサーバーのプライマリに設定されている場合、コンフィギュレーションサーバーのプライマリがシャーディングされたコレクションのインデックスの整合性をチェックする間隔(ミリ秒単位)です。コンフィギュレーションサーバーのプライマリでない場合、このパラメーターは mongod には影響しません。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

たとえば、次の例では、起動時に間隔を 300000 ミリ秒(5 分)に設定します。

mongod --setParameter shardedIndexConsistencyCheckIntervalMS=300000

Tip

ShardingTaskExecutorPoolHostTimeoutMS

mongod

型: 整数

デフォルト: 300000(5 分)

mongos がホストへのすべての接続を切断するまでに、mongos でホストとの通信が無い最大時間。

If set, ShardingTaskExecutorPoolHostTimeoutMS should be greater than the sum of ShardingTaskExecutorPoolRefreshRequirementMS and ShardingTaskExecutorPoolRefreshTimeoutMS. Otherwise, mongos adjusts the value of ShardingTaskExecutorPoolHostTimeoutMS to be greater than the sum.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets ShardingTaskExecutorPoolHostTimeoutMS to 120000 during startup:

mongos --setParameter ShardingTaskExecutorPoolHostTimeoutMS=120000

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolHostTimeoutMS: 120000 } )
ShardingTaskExecutorPoolMaxConnecting

mongod

型: 整数

デフォルト: 2

各 TaskExecutor 接続プールが mongod インスタンスに対して持つことができる同時開始接続の最大数(セットアップまたはリフレッシュ状態の保留中の接続を含む)。このパラメーターを設定すると、mongos が mongod インスタンスに接続を追加するレートを制御できます。

If set, ShardingTaskExecutorPoolMaxConnecting should be less than or equal to ShardingTaskExecutorPoolMaxSize. If it is greater, mongos ignores the ShardingTaskExecutorPoolMaxConnecting value.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets ShardingTaskExecutorPoolMaxConnecting to 20 during startup:

mongos --setParameter ShardingTaskExecutorPoolMaxConnecting=20

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxConnecting: 20 } )
ShardingTaskExecutorPoolMaxSize

mongod

型: 整数

デフォルト:

  • オンプレミス配置: mongos と mongod の両方で 32767

  • MongoDB Atlas:

    • 250 mongos ルーターの場合

    • 32767 mongod インスタンスの場合

注意

最大構成可能値は 2 64 - 1 ですが、オンプレミスと MongoDB Atlas の両方の配置のデフォルトは、パフォーマンスとリソース使用量を最適化するために大幅に低く設定されています。

各 TaskExecutor 接続プールが任意の mongod インスタンスに対して開くことができるアウトバウンド接続の最大数。すべての TaskExecutor プールにおいて、任意のホストへの最大接続数は次のとおりです。

ShardingTaskExecutorPoolMaxSize * taskExecutorPoolSize

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets ShardingTaskExecutorPoolMaxSize to 20 during startup:

mongos --setParameter ShardingTaskExecutorPoolMaxSize=20

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSize: 20 } )

mongos can have up to n TaskExecutor connection pools, where n is the number of cores. See taskExecutorPoolSize.

ShardingTaskExecutorPoolMaxQueueDepth

バージョン8.2の新機能。

mongod

タイプ: 非負整数

デフォルト: 0

実行プログラムが追加のリクエストの拒否を開始する前にキューに入れる接続リクエストの最大数。

値が 0 の場合、キューのサイズに制限がないことを意味します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ中に ShardingTaskExecutorPoolMaxQueueDepth を 10 に設定します。

mongos --setParameter ShardingTaskExecutorPoolMaxQueueDepth=10

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxQueueDepth: 10 } )
ShardingTaskExecutorPoolMaxSizeForConfigServers

バージョン6.0の新機能。

mongod

型: 整数

デフォルト: -1

Optional override for ShardingTaskExecutorPoolMaxSize to set the maximum number of outbound connections each TaskExecutor connection pool can open to a configuration server.

設定値:

  • -1, ShardingTaskExecutorPoolMaxSize is used. This is the default.

  • -1 より大きい整数値の場合、各 TaskExecutor 接続プールが構成サーバーに対し開始できるアウトバウンド接続の最大数を上書きします。

パラメータはシャーディングされた配置にのみ適用されます。

The following example sets ShardingTaskExecutorPoolMaxSize to 2 during startup, which sets the maximum number of outbound connections each TaskExecutor connection pool can open to a configuration server to 2:

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

mongos --setParameter ShardingTaskExecutorPoolMaxSizeForConfigServers=2

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolMinSize

mongod

型: 整数

デフォルト: 1

各 TaskExecutor 接続プールが任意の mongod インスタンスに対して開くことができるアウトバウンド接続の最小数。

ShardingTaskExecutorPoolMinSize connections are created the first time a connection to a new host is requested from the pool. While the pool is idle, the pool maintains this number of connections until ShardingTaskExecutorPoolHostTimeoutMS milliseconds pass without any application using that pool.

For a mongos using the warmMinConnectionsInShardingTaskExecutorPoolOnStartup parameter, the ShardingTaskExecutorPoolMinSize parameter also controls how many connections to each shard host are established on startup of the mongos instance before it begins accepting incoming client connections.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets ShardingTaskExecutorPoolMinSize to 2 during startup:

mongos --setParameter ShardingTaskExecutorPoolMinSize=2

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSize: 2 } )

mongos can have up to n TaskExecutor connection pools, where n is the number of cores. See taskExecutorPoolSize.

ShardingTaskExecutorPoolMinSizeForConfigServers

バージョン6.0の新機能。

mongod

型: 整数

デフォルト: -1

Optional override for ShardingTaskExecutorPoolMinSize to set the minimum number of outbound connections each TaskExecutor connection pool can open to a configuration server.

設定値:

  • -1, ShardingTaskExecutorPoolMinSize is used. This is the default.

  • -1 より大きい整数値の場合、各 TaskExecutor 接続プールが構成サーバーに対し開始できるアウトバウンド接続の最小数を上書きします。

パラメータはシャーディングされた配置にのみ適用されます。

The following example sets ShardingTaskExecutorPoolMinSize to 2 during startup, which sets the minimum number of outbound connections each TaskExecutor connection pool can open to a configuration server to 2:

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

mongos --setParameter ShardingTaskExecutorPoolMinSizeForConfigServers=2

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolRefreshRequirementMS

mongod

型: 整数

デフォルト: 60000(1 分)

プール内のアイドル接続をハートビートするまでにmongosが待機する最大時間。 プールが最小サイズを超えると、更新中にアイドル接続が破棄される可能性があります。

If set, ShardingTaskExecutorPoolRefreshRequirementMS should be greater than ShardingTaskExecutorPoolRefreshTimeoutMS. Otherwise, mongos adjusts the value of ShardingTaskExecutorPoolRefreshTimeoutMS to be less than ShardingTaskExecutorPoolRefreshRequirementMS.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets ShardingTaskExecutorPoolRefreshRequirementMS to 90000 during startup:

mongos --setParameter ShardingTaskExecutorPoolRefreshRequirementMS=90000

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshRequirementMS: 90000 } )
ShardingTaskExecutorPoolRefreshTimeoutMS

mongod

型: 整数

デフォルト: 20000(20 秒)

mongos でハートビートがタイムアウトするまでにハートビートを待つ最大時間。

If set, ShardingTaskExecutorPoolRefreshTimeoutMS should be less than ShardingTaskExecutorPoolRefreshRequirementMS. Otherwise, mongos adjusts the value of ShardingTaskExecutorPoolRefreshTimeoutMS to be less than ShardingTaskExecutorPoolRefreshRequirementMS.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets ShardingTaskExecutorPoolRefreshTimeoutMS to 30000 during startup:

mongos --setParameter ShardingTaskExecutorPoolRefreshTimeoutMS=30000

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshTimeoutMS: 30000 } )
ShardingTaskExecutorPoolReplicaSetMatching

バージョン5.0で変更。

mongod

タイプ: string

デフォルト: "自動"

mongos インスタンスでは、このパラメーターは、レプリカセット内のノードへの接続プールの最小サイズ制限を決定するポリシーを設定します。

mongodインスタンスでは、このパラメーターは、他のレプリカセット内のノードへの接続プールの最小サイズ制限を決定するポリシーを設定します。

このパラメーターは、ユーザー リクエストおよび CRUD 操作に直接関連する操作に対する接続のみを管理することに注意してください。

使用可能な値は次のとおりです。

マッチング ポリシー
説明

"automatic" (デフォルト)

5.0以降では、 "automatic"が新しいデフォルト値です。

mongos に設定すると、インスタンスは "matchPrimaryNode" オプションに指定された動作に従います。

mongod に設定すると、インスタンスは "disabled" オプションに指定された動作に従います。

WARNING: If the ShardingTaskExecutorPoolReplicaSetMatching is set to "automatic", the replicaSetMatchingStrategy still describes the actual policy being used, not "automatic". To find the value of the ShardingTaskExecutorPoolReplicaSetMatching, use getParameter which returns the value of the server parameter.

"matchPrimaryNode"

mongos に設定すると、シャーディングされたクラスター内のレプリカセットの各セカンダリ(具体的には、シャード レプリカセットとコンフィギュレーションサーバー)に対するインスタンスの接続プールの最小サイズ制限は、そのレプリカセットのプライマリへの接続プールのサイズと同じになります。

mongod に設定すると、シャーディングされたクラスター内の別のレプリカセットの各セカンダリ(具体的には、シャード レプリカセットとコンフィギュレーションサーバー)に対するインスタンスの接続プールの最小サイズ制限は、そのレプリカセットのプライマリへの接続プールのサイズと同じになります。

警告:トポロジー内の複数のシャード サーバーでシャード間の操作が急増する可能性がある場合は、mongod インスタンスにこのオプションを設定しないでください。

プライマリが降格する場合、matchPrimaryNode はプライマリになるすべてのセカンダリが現在のレベルのプライマリの読み取りと書き込みを処理できるようにします。

"matchBusiestNode"

mongos に設定すると、シャーディングされたクラスター内のレプリカセットの各ノード(具体的には、シャード レプリカセットとコンフィギュレーションサーバー)に対するインスタンスの接続プールの最小サイズ制限は、そのレプリカセットのプライマリと各セカンダリへのアクティブな接続数の最大値に等しくなります。

mongod に設定すると、シャーディングされたクラスター内の別のレプリカセットの各ノード(具体的には、シャード レプリカセットとコンフィギュレーションサーバー)に対するインスタンスの接続プールの最小サイズ制限は、そのレプリカセットのプライマリと各セカンダリへのアクティブな接続数の最大値に等しくなります。

"matchBusiestNode" を使用すると、mongos は各セカンダリへの十分な接続を維持し、プライマリとセカンダリの現在のレベルの読み取りと書き込みを処理します。アクティブな接続の数が減少すると、プール内で維持する接続の数も減少します。

"disabled"

When set for a mongos, the instance's minimum number of connections in the instance's connection pool to each node of a replica set in the sharded clusterv (specifically, shard replica set and config servers) is equal to the ShardingTaskExecutorPoolMinSize.

When set for a mongod, the instance's minimum number of connections in the instance's connection pool to each node of another replica set in the sharded cluster (specifically, shard replica set and config servers) is equal to the ShardingTaskExecutorPoolMinSize.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets the ShardingTaskExecutorPoolReplicaSetMatching to "automatic" during startup:

mongod --setParameter ShardingTaskExecutorPoolReplicaSetMatching="automatic"

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolReplicaSetMatching: "automatic" } )
shardRetryTokenBucketCapacity

mongod

バージョン8.3の新機能。

タイプ : 整数

デフォルト: 1000

各シャードに割り当てられた過負荷再試行トークンの最大数。過負荷エラーに応答する再試行のたびにトークンが使用され、成功するたびにトークンが解放されます。使用可能なトークンが存在しない場合、操作は失敗します。

For example, if mongos retries an operation that was previously load shed by the shard, it uses a token in the retry. If the attempt succeeds, it returns the token to the shard plus the shardRetryTokenReturnRate. If the attempt fails, it tries again with a new token. If it finds the bucket empty, it doesn't retry the operation.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時に shardRetryTokenBucketCapacity を 5000 に設定します。

mongod --setParameter shardRetryTokenBucketCapacity=5000

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, shardRetryTokenBucketCapacity: 5000 } )
shardRetryTokenReturnRate

mongod

バージョン8.3の新機能。

型: double

デフォルト: 0.1

成功したリクエストでのシャード再試行トークンの戻り値。MongoDB、リクエストを処理するにつれて、使用可能な再試行トークンの数が時間の経過とともに増加します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、スタートアップ時に shardRetryTokenBucketReturnRate を 0.25 に設定します。

mongod --setParameter shardRetryTokenReturnRate=0.25

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, shardRetryTokenReturnRate: 0.25 } )
shutdownTimeoutMillisForSignaledShutdown

バージョン 5.0 の新機能。

mongod

タイプ: 整数

デフォルト: 15000

SIGTERM シグナルに応答して mongod のシャットダウンを開始する前に、進行中のデータベース操作が完了するまで待機する時間(ミリ秒単位)を指定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、時間を 250 ミリ秒に設定するには、起動時に次のコマンドを発行します。

mongod --setParameter shutdownTimeoutMillisForSignaledShutdown=250

Or if using the setParameter command in a mongosh session that is connected to a running mongod:

db.adminCommand( { setParameter: 1, shutdownTimeoutMillisForSignaledShutdown: 250 } )
skipShardingConfigurationChecks

mongod

タイプ: ブール値

デフォルト: false

true の場合、シャード ノードまたはコンフィギュレーションサーバー ノードをスタンドアロンとして起動してメンテナンス操作を行うことができます。このパラメーターは、--configsvr または --shardsvr オプションと相互に排他的です。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

mongod --setParameter skipShardingConfigurationChecks=true

重要

Once maintenance has completed, remove the skipShardingConfigurationChecks parameter when restarting the mongod.

taskExecutorPoolSize

mongos

型: 整数

デフォルト: 1

特定の mongos に使用する Task Executor 接続プールの数。

パラメーター値が 0 以下の場合、Task Executor 接続プールの数はコアの数になります。ただし、次の例外があります。

  • コア数が 4 未満の場合、Task Executor 接続プールの数は 4 です。

  • コアの数が 64 より大きい場合、Task Executor 接続プールの数は 64 です。

The default value of taskExecutorPoolSize is 1:

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

mongos --setParameter taskExecutorPoolSize=6
terminateSecondaryReadsOnOrphanCleanup

mongod

バージョン8.2の新機能。

タイプ: ブール値

デフォルト: true

セカンダリ ノードで実行されている長時間実行されている読み取り操作を、 チャンク移行後の孤立したドキュメント の削除前に自動的に終了するかどうかを制御します。

In sharded clusters, when a chunk successfully migrates from the source shard to the destination shard, MongoDB does not immediately remove the migrated documents from the source shard. Instead, the primary of the source shard waits for any in-progress reads involving the namespace of the migrated chunk to complete, and after that, waits an additional period controlled by orphanCleanupDelaySecs (default: 1 hour). This additional delay allows any long-running secondary reads to finish before orphaned documents are deleted from the source shard.

孤立したドキュメントがソース シャードから削除された後、terminateSecondaryReadsOnOrphanCleanup が true に設定されていない限り、チャンク移行の前に開始されたセカンダリ ノードで実行中進行中の読み取りでは、エラーが返されることなくドキュメントが自動的に欠落する可能性があります。

terminateSecondaryReadsOnOrphanCleanup が true に設定されている場合、チャンク移行のコミット前に開始されたセカンダリ ノードでの読み取り操作は、 孤立したドキュメント が セカンダリノードから削除される前に自動的に終了されます。これにより、移行中に移動されたドキュメントが暗黙的に欠落するというセカンダリ読み取りが長時間実行されるのを防ぎます。

false に設定されている場合、孤立したドキュメントが削除された後でも、セカンダリ ノードでの読み取り操作は実行され続けます。操作では、エラーを返さずにドキュメントが暗黙的に欠落することがあります。これは、8.2 より前のバージョンのMongoDB の動作と一致します。

注意

この動作は、チャンク移行がコミットする前に開始される読み取り操作にのみ影響します。クエリ、集計、複数の名前空間にまたがる操作など、セカンダリ上のすべての読み取り操作に適用されます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

terminateSecondaryReadsOnOrphanCleanup によって読み取り操作が終了すると、 MongoDB は次のエラーを返します。

{
code: 175,
name: QueryPlanKilled,
categories: [CursorInvalidatedError],
errmsg: "Read has been terminated due to orphan range cleanup"
}

このエラーは設計上再試行することはできません。これらのエラーの処理の詳細については、シャーディングされたクラスターで実行されているセカンダリ読み取りが長時間実行されている を参照してください。

warmMinConnectionsInShardingTaskExecutorPoolOnStartup

mongos

タイプ: ブール値

デフォルト: true

Configures a mongos instance to prewarm its connection pool on startup. With this parameter enabled, the mongos attempts to establish ShardingTaskExecutorPoolMinSize network connections to each shard server as part of its startup procedure, before it begins accepting client connections.

A timeout for this behavior can be configured with the warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS parameter. If this timeout is reached, the mongos will begin accepting client connections regardless of the size of its connection pool.

このパラメーターが有効になっている mongos インスタンスでは起動時間が長くなる可能性がありますが、起動後は初期クライアント接続のサービスが高速化されます。

warmMinConnectionsInShardingTaskExecutorPoolOnStartup は、デフォルトで有効になっています。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS

mongos

型: 整数

デフォルト: 2000(2 秒)

Sets the timeout threshold in milliseconds for a mongos to wait for ShardingTaskExecutorPoolMinSize connections to be established per shard host when using the warmMinConnectionsInShardingTaskExecutorPoolOnStartup parameter. If this timeout is reached, the mongos will begin accepting client connections regardless of the size of its connection pool.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

activeFaultDurationSecs

mongos

型: ドキュメント

ヘルスマネージャーの概要に障害が発生してから、mongos がクラスターから排除されるまでの待機時間(秒単位)です。

障害が検出され、ヘルスマネージャーが critical に構成されている場合、サーバーは指定された間隔だけ待機してから、クラスターから mongos を削除します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

たとえば、障害からクラッシュまでの期間を 5 分に設定するには、起動時に次のコマンドを発行します。

mongos --setParameter activeFaultDurationSecs=300

Or if using the setParameter command in a mongosh session that is connected to a running mongos:

db.adminCommand(
{
setParameter: 1,
activeFaultDurationSecs: 300
}
)

setParameter で設定されたパラメーターは再起動後に永続することはありません。詳細については、「setParameter ページ」を参照してください。

この設定を永続的にするには、次の例のように setParameter オプションを使用して mongos コンフィギュレーション ファイルの activeFaultDurationSecs を設定します。

setParameter:
activeFaultDurationSecs: 300
healthMonitoringIntensities

mongos

型: ドキュメントの配列

このパラメータを使用して、ヘルスマネージャーの強度レベルを設定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

healthMonitoringIntensities はドキュメントの配列 values を受け取ります。values の各ドキュメントは 2 個のフィールドを取ります。

  • type、ヘルスマネージャーファセット

  • intensity、強度レベル

Facet
ヘルス オブザーバーがチェックする内容

configServer

コンフィギュレーションサーバーに対する接続に関連するクラスターの健全性の問題。

dns

DNS の可用性と機能に関連するクラスターの健全性の問題。

ldap

LDAP の可用性と機能に関するクラスターの健全性の問題。

強度レベル
説明

critical

The Health Manager on this facet is enabled and has the ability to move the failing mongos out of the cluster if an error occurs. The Health Manager waits the amount of time specified by activeFaultDurationSecs before stopping and moving the mongos out of the cluster automatically.

non-critical

このファセットのヘルスマネージャーは有効になっており、エラーをログに記録しますが、エラーが発生した場合、mongos はクラスター内に残ります。

off

このファセットのヘルスマネージャーは無効です。mongos は、このファセットでヘルスチェックを実行しません。これは、デフォルトの強度レベルです。

たとえば、dns ヘルスマネージャーファセットを強度レベル critical に設定するには、スタートアップ時に以下を実行します。

mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }'

Or if using the setParameter command in a mongosh session that is connected to a running mongos:

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } )
}
)

setParameter で設定されたパラメーターは再起動後に永続することはありません。詳細については、「setParameter ページ」を参照してください。

この設定を永続的にするには、次の例のように setParameter オプションを使用して mongos コンフィギュレーション ファイルの healthMonitoringIntensities を設定します。

setParameter:
healthMonitoringIntensities: "{ values:[ { type:\"dns\", intensity: \"critical\"} ] }"
healthMonitoringIntervals

mongos

型: ドキュメントの配列

このヘルスマネージャーの実行頻度(ミリ秒単位)です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

healthMonitoringIntervals はドキュメントの配列 values を受け取ります。values の各ドキュメントは 2 個のフィールドを取ります。

  • type、ヘルスマネージャーファセット

  • interval、実行の間隔(ミリ秒単位)

Facet
ヘルス オブザーバーがチェックする内容

configServer

コンフィギュレーションサーバーに対する接続に関連するクラスターの健全性の問題。

dns

DNS の可用性と機能に関連するクラスターの健全性の問題。

ldap

LDAP の可用性と機能に関するクラスターの健全性の問題。

たとえば、30 秒ごとにヘルスチェックを実行するように ldap ヘルスマネージャーファセットを設定するには、スタートアップ時に次のコマンドを発行します。

mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }'

Or if using the setParameter command in a mongosh session that is connected to a running mongos:

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntervals: { values: [ { type: "ldap", interval: "30000" } ] } } )
}
)

setParameter で設定されたパラメーターは再起動後に永続することはありません。詳細については、「setParameter ページ」を参照してください。

この設定を永続的にするには、次の例のように setParameter オプションを使用して mongos コンフィギュレーション ファイルの healthMonitoringIntervals を設定します。

setParameter:
healthMonitoringIntervals: "{ values: [{type: \"ldap\", interval: 200}] }"
progressMonitor

mongos

型: ドキュメント

プログレス モニターは、ヘルスマネージャーのチェックが停止したり、応答しなくなったりしないよう確認するためのテストを実行します。プログレス モニターは、interval で指定された間隔でこれらのテストを実行します。ヘルスチェックが開始されたが、deadline で指定されたタイムアウト内に完了しない場合、プログレス モニターは mongos を停止し、クラスターから削除します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

フィールド
説明
単位

interval

ヘルスマネジャーが、停止したり、応答しなくなったりしないよう確認する頻度。

ミリ秒

deadline

ヘルスマネージャーのチェックが進行していない場合に、mongos を自動的に失敗させるまでの中断時間。

秒

interval を 1000 ミリ秒に設定し、deadline を 300 秒に設定するには、スタートアップ時に次のコマンドを発行します。

mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}'

Or if using the setParameter command in a mongosh session that is connected to a running mongos:

db.adminCommand(
{
setParameter: 1,
progressMonitor: { interval: 1000, deadline: 300 } )
}
)

setParameter で設定されたパラメーターは再起動後に永続することはありません。詳細については、「setParameter ページ」を参照してください。

この設定を永続的にするには、次の例のように setParameter オプションを使用して mongos コンフィギュレーション ファイルの progressMonitor を設定します。

setParameter:
progressMonitor: "{ interval: 1000, deadline: 300 }"
changeStreamPreImagesSamplePointsPerUUID

mongod

バージョン9.0の新機能。

タイプ: 整数

デフォルト: 10

変更ストリームのプレイメージが有効になっている各ユーザーコレクションからMongoDBが抽出するサンプルの数を制御します。最小値は 1 です。

MongoDB uses these samples to build the initial truncation information that governs pre-image removal. Sampling documents in the pre-images collection can be I/O-intensive if the pre-image data is not cached. The total number of document lookups depends on the number of user collections with pre-images enabled: for each collection with pre-images enabled, MongoDB draws up to changeStreamPreImagesSamplePointsPerUUID samples from the pre-images collection.

プリイメージのサンプリングが過剰なI/Oリソースを消費する場合は、この値を下げてI/O使用量を削減してください。値を下げると、初期の切り捨て情報の精度も低下します。つまり、期限切れのプリイメージが予想よりも遅く削除される可能性があります。これは、サンプリング時に既に存在するプリイメージにのみ適用されます。サンプリング後に挿入されたプリイメージには、常に正確な有効期限情報が含まれます。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets changeStreamPreImagesSamplePointsPerUUID to 5:

db.adminCommand( {
setParameter: 1,
changeStreamPreImagesSamplePointsPerUUID: 5
} )
enableAutoCompaction

mongod

バージョン8.1.0の新機能。

タイプ: ブール値

デフォルト: false

インスタンスが自動でバックグラウンド圧縮を実行するかどうかを指定します。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

次の例では、インスタンスで自動バックグラウンド圧縮を有効にします。

mongod --setParameter "enableAutoCompaction=true"
honorSystemUmask

mongod

デフォルト: false

If honorSystemUmask is set to true, new files created by MongoDB have permissions in accordance with the user's umask settings. You cannot set processUmask if honorSystemUmask is set to true.

If honorSystemUmask is set to false, new files created by MongoDB have permissions set to 600, which gives read and write permissions only to the owner. New directories have permissions set to 700. You can use processUmask to override the default permissions for groups and other users on all new files created by MongoDB.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

mongod --setParameter honorSystemUmask=true
mongos --setParameter honorSystemUmask=true

注意

honorSystemUmask は、Windows システムでは使用できません。

journalCommitInterval

mongod

ジャーナル コミット間のミリ秒数(ms)を表す 1 から500 までの整数を指定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

Consider the following example which sets the journalCommitInterval to 200 ms:

db.adminCommand( { setParameter: 1, journalCommitInterval: 200 } )
minSnapshotHistoryWindowInSeconds

バージョン 5.0 の新機能。

mongod

デフォルト: 300

storage engine がスナップショット履歴を保持する最小時間枠を秒単位で指定します。"snapshot" の読み取り保証 (read concern) を使用してデータをクエリし、指定された minSnapshotHistoryWindowInSeconds よりも前の atClusterTime 値を指定すると、mongod は、SnapshotTooOld エラーを返します。

警告

シャーディングされたクラスターでは、コンフィギュレーションサーバーノードのデフォルトのminSnapshotHistoryWindowInSeconds 値を変更すると、内部操作が失敗する可能性があります。

コンフィギュレーションサーバーノードで minSnapshotHistoryWindowInSeconds を 0 に設定しないでください。 このパラメータを 0 に設定すると、指定された atClusterTime を持つコンフィギュレーションサーバーを対象に snapshot 読み取りを実行している内部操作が失敗します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

(>=)0 以上の整数を指定します。

minSnapshotHistoryWindowInSeconds を 600 秒に設定する以下の例を考えてみます。

db.adminCommand( { setParameter: 1, minSnapshotHistoryWindowInSeconds: 600 } )

注意

Increasing the value of minSnapshotHistoryWindowInSeconds increases disk usage. For more information, see Snapshot History Retention.

MongoDB Atlas クラスターのこの値を変更するには、Atlas サポートに問い合わせる必要があります。

processUmask

mongod

Overrides the default permissions used for groups and other users when honorSystemUmask is set to false. By default, when honorSystemUmask is set to false, new files created by MongoDB have permissions set to 600. Use the processUmask parameter to override this default with a custom umask value. The file owner inherits permissions from the system umask.

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

You cannot set this parameter if honorSystemUmask is set to true.

グループと他のユーザーの権限を読み取り/書き込みのみに設定し、所有者のシステム umask 設定を保持する次の例を考えてみます。

mongod --setParameter processUmask=011

注意

processUmask は、Windows システムでは使用できません。

spillPath

バージョン8.3の新機能。

mongod

デフォルト: dbPath 設定の値。

型: string

スピルエンジンがディスクに書き込むときに使用するパス。ディスクスピル操作により同時クエリの IOPS が削減されるリスクがある場合は、これが役立つ場合があります。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

storageEngineConcurrentReadTransactions

バージョン7.0で変更。

mongod

タイプ: 整数

ストレージエンジンに許可された同時読み取りトランザクション(読み取りチケット)の最大数を指定します。

注意

バージョン 7.0 以降、MongoDB はチケット数を動的に調整して、パフォーマンスを最適化します(最大値は 128)。

Modifying this value can cause performance issues or errors. To determine if disabling the dynamic concurrent storage engine transactions algorithm is optimal for the cluster, contact MongoDB Support.

MongoDB 7.0 以降では、このパラメーターはすべてのストレージ エンジンで使用できます。以前のバージョンでは、このパラメーターは WiredTiger storage engine でのみ使用できます。

storageEngineConcurrentWriteTransactions

バージョン7.0で変更。

mongod

タイプ: 整数

WiredTigerストレージエンジンに許可される同時書込みトランザクションの最大数を指定します。

注意

バージョン 7.0 以降、MongoDB はチケット数を動的に調整して、パフォーマンスを最適化します(最大値は 128)。

Modifying this value can cause performance issues or errors. To determine if disabling the dynamic concurrent storage engine transactions algorithm is optimal for the cluster, contact MongoDB Support.

MongoDB 7.0 以降では、このパラメーターはすべてのストレージ エンジンで使用できます。以前のバージョンでは、このパラメーターは WiredTiger storage engine でのみ使用できます。

syncdelay

mongod

デフォルト: 60

mongod が作業メモリをディスクにフラッシュする間隔を秒単位で指定します。デフォルトでは、mongod は 60 秒ごとにメモリをディスクにフラッシュします。ほとんどの場合、この値を設定せず、デフォルト設定を使用してください。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

syncdelay を 60 秒に設定する以下の例を考えてみます。

db.adminCommand( { setParameter: 1, syncdelay: 60 } )

永続的なデータを提供するために、 WiredTigerはチェックポイントを使用します。 詳細については、「ジャーナリングと WiredTiger ストレージ エンジン 」を参照してください。

temporarilyUnavailableBackoffBaseMs

mongod

デフォルト: 1000

キャッシュの負荷によりロールバックされた書き込み操作を再試行するまでの初期遅延を指定します。

まれに、キャッシュの負荷により書込み (write) が失敗する場合があります。このような状況が発生すると、MongoDB では、TemporarilyUnavailable エラーを発行し、スロー クエリ ログとフルタイム診断データ取得(FTDC)の 2 か所で temporarilyUnavailableErrors カウンターの値を増加させます。

マルチドキュメントトランザクション内の個々の操作では、TemporarilyUnavailable エラーは返されません。

Adjust the write retry properties by modifying the temporarilyUnavailableBackoffBaseMs and temporarilyUnavailableMaxRetries parameters.

Contact support if you experience any cache pressure issues.

このパラメーターは以下を受け入れます。

値
説明

integer >= 0

デフォルトは 1 秒。再試行間の初期遅延。この値は、再試行のたびに最大 55 秒まで増加します。値を大きくすると、次回の再試行までにキャッシュ負荷が軽減される可能性が高くなります。

To configure number of retries, use temporarilyUnavailableMaxRetries.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

新しい値を設定するには、db.adminCommand() を使用します。

db.adminCommand( { setParameter: 1, temporarilyUnavailableBackoffBaseMs: 3 } )

バージョン6.1.0の新機能。

temporarilyUnavailableMaxRetries

mongod

デフォルト: 10

キャッシュの負荷により書き込み操作がロールバックされた場合の最大再試行回数を指定します。

まれに、キャッシュの負荷により書込み (write) が失敗する場合があります。このような状況が発生すると、MongoDB では、TemporarilyUnavailable エラーを発行し、スロー クエリ ログとフルタイム診断データ取得(FTDC)の 2 か所で temporarilyUnavailableErrors カウンターの値を増加させます。

マルチドキュメントトランザクション内の個々の操作では、TemporarilyUnavailable エラーは返されません。

Adjust the write retry properties by modifying the temporarilyUnavailableBackoffBaseMs and temporarilyUnavailableMaxRetries parameters.

Contact support if you experience any cache pressure issues.

このパラメーターは以下を受け入れます。

値
説明

integer >= 0

最大再試行回数。

There is an increasing delay between retries. To configure the backoff time, use temporarilyUnavailableBackoffBaseMs.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

新しい値を設定するには、db.adminCommand() を使用します。

db.adminCommand( { setParameter: 1, temporarilyUnavailableMaxRetries: 5 } )

バージョン6.1.0の新機能。

throughputProbingStallEscalationThreshold

mongod

バージョン9.0の新機能。

タイプ: 整数

デフォルト: 3

スループットがゼロで、かつチケットを待機している操作が少なくとも1つある状態のスループットプローブ間隔が連続して何回経過した後に、MongoDBが強制的に同時実行数を増やしてストールを解消するかを指定します。このしきい値は、一時的な測定ノイズへの反応を防ぐためのものです。

このパラメーターは以下を受け入れます。

値
説明

integer >= 1

同時実行数を増やす前に経過する必要がある、連続するストール間隔の数。1 の値は、最初に検出された間隔で反応します。

0

ストールブレーキングを完全に無効にします。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

新しい値を設定するには、db.adminCommand() を使用します。

db.adminCommand( {
setParameter: 1,
throughputProbingStallEscalationThreshold: 3
} )
upsertMaxRetryAttemptsOnDuplicateKeyError

mongod

バージョン8.1.0の新機能。

upsert操作で重複キー エラーが発生した場合の最大再試行回数。

タイプ : 整数

デフォルト: 100

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

重要

MongoDB 8.1 以降では、upsert操作がマルチドキュメントトランザクションで実行される場合、重複キー エラーが発生しても upsert は再試行しません。

次の例では、重複キー エラーが発生したときにサーバーがupsert操作を再試行する最大回数を 50 に設定します。

mongod --setParameter "upsertMaxRetryAttemptsOnDuplicateKeyError=50"

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( {
setParameter: 1,
upsertMaxRetryAttemptsOnDuplicateKeyError: 50
} )
wiredTigerConcurrentReadTransactions

mongod

タイプ: 整数

ストレージエンジンに許可された同時読み取りトランザクション(読み取りチケット)の最大数を指定します。

注意

バージョン 7.0 以降、MongoDB はチケット数を動的に調整して、パフォーマンスを最適化します(最大値は 128)。

Modifying this value can cause performance issues or errors. To determine if disabling the dynamic concurrent storage engine transactions algorithm is optimal for the cluster, contact MongoDB Support.

MongoDB 7.0 以降では、このパラメーターはすべてのストレージ エンジンで使用できます。以前のバージョンでは、このパラメーターは WiredTiger storage engine でのみ使用できます。

バージョン6.0で変更。

The wiredTigerConcurrentReadTransactions parameter was renamed to storageEngineConcurrentReadTransactions.

wiredTigerConcurrentWriteTransactions

mongod

タイプ: 整数

WiredTigerストレージエンジンに許可される同時書込みトランザクションの最大数を指定します。

注意

バージョン 7.0 以降、MongoDB はチケット数を動的に調整して、パフォーマンスを最適化します(最大値は 128)。

Modifying this value can cause performance issues or errors. To determine if disabling the dynamic concurrent storage engine transactions algorithm is optimal for the cluster, contact MongoDB Support.

MongoDB 7.0 以降では、このパラメーターはすべてのストレージ エンジンで使用できます。以前のバージョンでは、このパラメーターは WiredTiger storage engine でのみ使用できます。

バージョン6.0で変更。

The wiredTigerConcurrentWriteTransactions parameter was renamed to storageEngineConcurrentWriteTransactions.

wiredTigerEngineRuntimeConfig

mongod

実行中のmongodインスタンスのwiredTigerストレージ エンジン構成オプションを指定します。

このパラメーターは実行時にのみ使用できます。 パラメーターを設定するには、 setParameterコマンドを使用します。

警告

Avoid modifying the wiredTigerEngineRuntimeConfig unless under the direction from MongoDB engineers as this setting has major implication across both WiredTiger and MongoDB.

次の操作プロトタイプを考慮します。

db.adminCommand({
"setParameter": 1,
"wiredTigerEngineRuntimeConfig": "<option>=<setting>,<option>=<setting>"
})
wiredTigerFileHandleCloseIdleTime

mongod

タイプ: 整数

デフォルト: 600

wiredTiger 内のファイル ハンドルが閉じられる前のアイドル状態を維持できる時間を秒単位で指定します。

wiredTigerFileHandleCloseIdleTime を 0 に設定すると、アイドル状態のハンドルは閉じられません。

Tip

このパラメーターは大文字と小文字を区別します。 wiredTigerFileHandleCloseIdleTime で w を大文字にして パラメータを実行すると、操作は次のエラー メッセージを返します。

{ "code":2,"codeName":"BadValue","errmsg":"Unknown --setParameter 'WiredTigerFileHandleCloseIdleTime'" }

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

以下に例を挙げます。

mongod --setParameter wiredTigerFileHandleCloseIdleTime=100000
wiredTigerSessionMax

バージョン8.1の新機能。

型 : 32 ビット整数

デフォルト:33000

mongod

WiredTigerによって許可されるセッションの最大数。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

利用可能なすべてのWiredTiger構成オプションについては、WiredTiger のドキュメントを参照してください。

auditAuthorizationSuccess

mongod

タイプ: ブール値

デフォルト: false

注意

MongoDB EnterpriseおよびMongoDB Atlasでのみ利用可能です。

authCheck アクションの承認成功の監査を有効にします。

When auditAuthorizationSuccess is false, the audit system only logs the authorization failures for authCheck.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

承認成功の監査を有効にするには、次のコマンドを発行します。

db.adminCommand( { setParameter: 1, auditAuthorizationSuccess: true } )

Enabling auditAuthorizationSuccess degrades performance more than logging only the authorization failures.

If runtime audit configuration is enabled, the auditAuthorizationSuccess parameter should not appear in the mongod or mongos configuration file. The server will fail to start if the parameter is present.

auditConfigPollingFrequencySecs

mongod

バージョン 5.0 の新機能。

タイプ: 整数

デフォルト: 300

シャーディングされたクラスターには、クラスターの監査構成設定を維持するサーバーが存在する場合があります。構成されていないサーバーが現在の監査生成についてコンフィギュレーションサーバーをポーリングする間隔を秒単位で設定します。返されたこの値が以前の既知の値と異なる場合、開始ノードは現在の構成をリクエストし、その内部状態をアップデートします。

注意

デフォルト値の 300 秒を使用すると、非 config ノードではauditConfigクラスター パラメータを設定してから最大 5 分かかることがあります。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

auditEncryptionHeaderMetadataFile

バージョン6.0の新機能。

mongod

型: string

注意

Available only in MongoDB Enterprise. MongoDB Enterprise and Atlas have different configuration requirements.

監査ログ暗号化用のログ メタデータ監査ヘッダーのパスとファイル名です。ヘッダーは各監査ログ ファイルの上部に配置され、監査ログを解読するためのメタデータが含まれています。ヘッダーも監査ログに保存されます。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

For example, the following sets the path and file for auditEncryptionHeaderMetadataFile:

mongod --setParameter auditEncryptionHeaderMetadataFile=/auditFiles/auditHeadersMetadataFile.log
auditEncryptKeyWithKMIPGet

バージョン6.0の新機能。

mongod

タイプ: ブール値

デフォルト: false

注意

Available only in MongoDB Enterprise. MongoDB Enterprise and Atlas have different configuration requirements.

KMIP プロトコル バージョン 1.0 または 1.1 のみをサポートする KMIP(キー管理相互運用性プロトコル)サーバーの監査ログ暗号化を有効にします。

このパラメーターは、スタートアップ時にのみ使用できます。パラメーターを設定するには、setParameter 設定を使用します。

The following example sets auditEncryptKeyWithKMIPGet to true:

mongod --setParameter auditEncryptKeyWithKMIPGet=true
AbortExpiredTransactionsSessionCheckoutTimeout

バージョン 8.1 の新機能: (8.0.13でも利用可能)

mongod

タイプ: 整数

デフォルト : 100 ミリ秒

セッションは、データベース操作を実行するためにセッション プールからチェックアウトされます。

AbortExpiredTransactionsSessionCheckoutTimeout は、期限切れのトランザクションを終了しようとするときにチェックアウトするセッションの最大数(ミリ秒)を設定します。

期限切れのトランザクションが正常に終了すると、 MongoDB はmetrics.abortExpiredTransactions.successfulKills を増やします。セッションのチェックアウト時にタイムアウトしたためトランザクションが正常に終了しなかった場合、 MongoDB はmetrics.abortExpiredTransactions.timedOutKillsを増分します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、AbortExpiredTransactionsSessionCheckoutTimeout を 120 ミリ秒に設定します。

db.adminCommand( { setParameter: 1, AbortExpiredTransactionsSessionCheckoutTimeout: 120 } )

このパラメータは、のスタートアップ時に設定することもできます。(例: )。

mongod --setParameter AbortExpiredTransactionsSessionCheckoutTimeout=120
cachePressureQueryPeriodMilliseconds

バージョン8.3の新機能。

mongod

タイプ: 整数

デフォルト : 1000 ミリ秒

MongoDB がストレージエンジンキャッシュの負荷をチェックする間で待機する時間間隔。ストレージエンジンがキャッシュ負荷に達している場合、 MongoDB は最も古いトランザクションを中止します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

Contact support if you experience any cache pressure issues.

次の例では、実行時に cachePressureQueryPeriodMilliseconds を 3000 ミリ秒に設定します。

db.adminCommand( { setParameter: 1, cachePressureQueryPeriodMilliseconds: 3000 } )

このパラメータは、スタートアップ時に設定することもできます 。(例: )。

mongod --setParameter cachePressureQueryPeriodMilliseconds=3000
coordinateCommitReturnImmediatelyAfterPersistingDecision

バージョン 5.0 の新機能。

バージョン 6.1 で更新

mongod

タイプ: ブール値

デフォルト: false

  • falseに設定すると、シャードトランザクションの調整役は、結果をクライアントに返す前に、参加しているすべてのシャードがマルチドキュメントトランザクションをコミットまたはキャンセルするかどうかの決定を確認するまで待機します。

  • trueに設定すると、シャード トランザクションの調整役は、要求されたトランザクションの書込み保証( write concern )で 永続 的な決定が行われるとすぐに、 マルチドキュメントトランザクション をコミットする決定をクライアントに返します。

    クライアントが "majority" 未満の書込み保証 (write concern) をリクエストした場合、決定がクライアントに返された後にコミットがロールバックされる可能性があります。

    トランザクションには「書込みの読み取り」整合性がない場合があります。 つまり、読み取り操作では、その前の書込み操作の結果が表示されない場合があります。 これは、次の場合に発生する可能性があります。

    • トランザクションは複数のシャードに書込み (write) しなければなりません。

    • 読み取りと以前の書込み (write) は、異なるセッションで行われます。

    因果整合性は、同じセッション内で発生する読み取りと書き込みの因果関係のみを保証します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、coordinateCommitReturnImmediatelyAfterPersistingDecision に true を設定します。

mongod --setParameter coordinateCommitReturnImmediatelyAfterPersistingDecision=true

次のように、実行中に setParameter コマンドを使用してパラメーターを設定することもできます。

db.adminCommand( { setParameter: 1, coordinateCommitReturnImmediatelyAfterPersistingDecision: true } )
internalSessionsReapThreshold

バージョン6.0の新機能。

mongod

デフォルト: 1000

内部セッション メタデータ削除に関するセッション制限です。メタデータ:

  • ユーザー操作のセッション トランザクション情報が含まれています。

  • config.transactions コレクションに保存されている場合

When the number of internal sessions is greater than internalSessionsReapThreshold, the metadata is deleted.

If you set internalSessionsReapThreshold to 0, the internal session metadata is only deleted when the user session ends.

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following example sets internalSessionsReapThreshold to 500 sessions:

db.adminCommand( { setParameter: 1, internalSessionsReapThreshold: 500 } )

You can also set internalSessionsReapThreshold at startup. For example:

mongod --setParameter internalSessionsReapThreshold=500
maxConcurrentMultiDocumentTransactions

バージョン 9.0 の新機能: (8.3.7でも利用可能)

mongod

タイプ: 整数

デフォルト: 10000

サーバーが外部クライアントに対して一度に許可する、同時に開くことができるマルチドキュメントトランザクションの最大数。この制限に達すると、サーバーは外部クライアントからの新しいマルチドキュメントトランザクションを拒否し、TooManyOpenTransactionsエラーを返します。

開いているトランザクションの数はサーバー全体でカウントされます。プロセス内部のトランザクションは拒否の対象外ですが、サーバーが外部クライアントに対して制限を強制する場合、合計数にはカウントされます。

同時実行されるマルチドキュメントトランザクションの数を制限することで、アイドル状態のトランザクションが多数発生し、システムパフォーマンスが低下するのを防ぐことができます。

制限を無効にするには、このパラメータを 0 に設定します。最小値は 0 です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の例では、実行時に maxConcurrentMultiDocumentTransactions に 5000 を設定します。

db.adminCommand( { setParameter: 1, maxConcurrentMultiDocumentTransactions: 5000 } )

このパラメータは、スタートアップ時に設定することもできます 。(例: )。

mongod --setParameter maxConcurrentMultiDocumentTransactions=5000
transactionLifetimeLimitSeconds

mongod

デフォルト: 60

Specifies the lifetime of multi-document transactions. Transactions that exceed this limit are considered expired and will be aborted by a periodic cleanup process. The cleanup process runs every transactionLifetimeLimitSeconds/2 seconds or at least once every 60 seconds.

クリーンアップ プロセスは、ストレージ キャッシュの負荷軽減に役立ちます。

transactionLifetimeLimitSeconds の最小値は 1 秒です。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following sets the transactionLifetimeLimitSeconds to 30 seconds:

db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 30 } )

You can also set parameter transactionLifetimeLimitSeconds at startup time.

mongod --setParameter "transactionLifetimeLimitSeconds=30"

シャーディングされたクラスターのパラメーターを設定するには、すべてのシャード レプリカセットのノード パラメーターを変更する必要があります。

Starting in MongoDB 5.0, if you change the transactionLifetimeLimitSeconds parameter, you must also change transactionLifetimeLimitSeconds to the same value on all config server replica set members. Keeping this value consistent:

  • ルーティング テーブルの履歴が、少なくともシャード レプリカセット ノードのトランザクション ライフタイム制限と同じ期間保持されるよう確認します。

  • トランザクションの再試行頻度を減らし、パフォーマンスを向上させます。

transactionTooLargeForCacheThreshold

バージョン6.2の新機能。

mongod

タイプ: 10 進数

デフォルト: 0.75

キャッシュの負荷により失敗したトランザクションを再試行するためのしきい値。この値は、ダーティ キャッシュ サイズに対する割合。デフォルト値の 0.75 は、ダーティ キャッシュの 75% を意味します。

ダーティ キャッシュは合計キャッシュ サイズの 20% に制限されます。transactionTooLargeForCacheThreshold を 0.75 に設定すると、サーバは、storage engine キャッシュの合計の 15%(0.75 * 20%)未満を使用するトランザクションのみを再試行します。

この制限は再試行にのみ適用されます。大規模なトランザクションでは、ダーティ キャッシュの transactionTooLargeForCacheThreshold% 以上を使用することができます。ただし、キャッシュの負荷により大規模なトランザクションがロールバックされた場合、サーバーは TransactionTooLargeForCache エラーを発行し、トランザクションを再試行しません。

この動作を無効にするには、transactionTooLargeForCacheThreshold を 1.0 に設定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

Contact support if you experience any cache pressure issues.

WiredTiger ストレージの詳細については、「storage.wiredTiger オプション」を参照してください。

maxTransactionLockRequestTimeoutMillis

mongod

タイプ: 整数

デフォルト: 5

マルチドキュメントトランザクションがトランザクション内の操作に必要なロックを取得するために待機する最大時間(ミリ秒単位)。

If the transaction cannot acquire the locks after waiting maxTransactionLockRequestTimeoutMillis, the transaction aborts.

By default, multi-document transactions wait 5 milliseconds. That is, if the transaction cannot acquire the locks within 5 milliseconds, the transaction aborts. If an operation provides a greater timeout in a lock request, maxTransactionLockRequestTimeoutMillis overrides the operation-specific timeout.

You can set maxTransactionLockRequestTimeoutMillis to:

  • 0 この場合、トランザクションが必要なロックをすぐに取得できないと、トランザクションは中止されます。

  • 必要なロックを取得するために指定された時間待機するには、0 より大きい数値を指定します。これにより、高速に実行されているメタデータ操作など、一時的な同時ロック取得でトランザクションが中断されるのを防ぐことができます。ただし、これにより、デッドロックしたトランザクション操作の中止が遅れる可能性があります。

  • -1 、操作固有のタイムアウトを使用します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following sets the maxTransactionLockRequestTimeoutMillis to 20 milliseconds:

db.adminCommand( { setParameter: 1, maxTransactionLockRequestTimeoutMillis: 20 } )

このパラメータは、起動時に設定することもできます。

mongod --setParameter maxTransactionLockRequestTimeoutMillis=20
planCacheSize

バージョン6.3の新機能。

mongod

型: string

デフォルト: 5%

注意

planCacheSize パラメーターは MongoDB の以前のバージョンにも存在していましたが、バージョン 6.3 まではプラン キャッシュには影響がありませんでした。

プラン キャッシュのサイズをスロットベースのクエリ実行エンジンのみに設定します。

You can set the planCacheSize value to either:

  • プラン キャッシュに割り当てるシステムの合計物理メモリの割合。たとえば、"8.5%"。

  • MB または GB のいずれかのプラン キャッシュに割り当てる正確なデータ量。たとえば、"100MB" や "1GB"など。

プラン キャッシュ サイズを増やすと、 クエリ プランナー にキャッシュされた プラン キャッシュ クエリシェイプ が増えます。これによりクエリのパフォーマンスは向上しますが、メモリ使用量が増加します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

The following startup command sets planCacheSize to 80 megabytes:

mongod --setParameter planCacheSize="80MB"

You can also use the setParameter command within the MongoDB Shell:

db.adminCommand( { setParameter: 1, planCacheSize: "80MB" } )
internalQueryGlobalProfilingLockDeadlineMs

mongod

タイプ : 整数

デフォルト: 1

profile コレクションへの書込みを実行する前に、ロック取得を待機する最大時間(ミリ秒)。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次の コマンドは、実行時に internalQueryGlobalProfilingLockDeadlineMs を 100 ミリ秒に設定します。

db.adminCommand( { setParameter: 1, internalQueryGlobalProfilingLockDeadlineMs: 100 } )

次の コマンドは、スタートアップ時に internalQueryGlobalProfilingLockDeadlineMs を 100 ミリ秒に設定します。

mongod --setParameter internalQueryGlobalProfilingLockDeadlineMs=100
internalProfilingMaxAbandonedWritesPerSecondPerDb

mongod

タイプ : 整数

デフォルト: 1000

profile コレクションへの書き込みを試行する際の、1 秒あたりの最大ロックタイムアウト数を指定します。このしきい値に達すると、このデータベースのプロファイリングは無効になります。この設定は、プロファイリングを手動で有効にするまで残ります。

値は 0 になる可能性があります。これは、1 つのロックタイムアウトによりデータベースのプロファイリングが無効になることを意味します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次のコマンドは、実行時に internalProfilingMaxAbandonedWritesPerSecondPerDb を 2000 に設定します。

db.adminCommand( { setParameter: 1, internalProfilingMaxAbandonedWritesPerSecondPerDb: 2000 } )

次のコマンドは、スタートアップ時に internalProfilingMaxAbandonedWritesPerSecondPerDb を 2000 に設定します。

mongod --setParameter internalProfilingMaxAbandonedWritesPerSecondPerDb=2000
internalQueryStatsSampleRate

型: float

デフォルト: 0.01

バージョン9.0で変更。

MongoDB が $queryStats のサンプルを取得する読み取り操作の割合。値は 0.0 から 1.0 までの範囲でなければなりません。すべての読み取り操作をサンプルするには、値を 1.0 に設定します。読み取り操作のサンプリングを停止するには、値を 0 に設定します。

MongoDB 9.0 では、デフォルト値が 0 から 0.01 に変更されます。これにより、読み取り操作のクエリ統計のコレクションがデフォルトのサンプリングレート 1% で有効になります。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次のコマンドは、実行時に internalQueryStatsSampleRate を 0.05 に設定します。

db.adminCommand( { setParameter: 1, internalQueryStatsSampleRate: 0.05 } )

次のコマンドは、スタートアップ時に internalQueryStatsSampleRate を 0.05 に設定します。

mongod --setParameter internalQueryStatsSampleRate=0.05
internalQueryStatsWriteCmdSampleRate

型: float

デフォルト: 0.01

バージョン9.0の新機能。

MongoDBが$queryStatsのためにサンプルする書き込み (write)操作の割合。値は0.0から1.0の間である必要があります。すべての書き込み (write)操作をサンプルするには、値を 1.0 に設定します。書き込み (write)操作のサンプリングを停止するには、値を 0 に設定します。

このパラメーターは、実行時とスタートアップ時に両方で使用できます。

  • 実行時にパラメータを設定するには、setParameter コマンドを使用します。

  • スタートアップ時に パラメータを設定するには、 setParameter 設定を使用します。

次のコマンドは、実行時に internalQueryStatsWriteCmdSampleRate を 0.05 に設定します。

db.adminCommand( { setParameter: 1, internalQueryStatsWriteCmdSampleRate: 0.05 } )

次のコマンドは、スタートアップ時に internalQueryStatsWriteCmdSampleRate を 0.05 に設定します。

mongod --setParameter internalQueryStatsWriteCmdSampleRate=0.05