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

インテリジェントなワークロードマネジメント

注意

このページは、Atlas Infinite と Atlas Core の両方に適用されます。

トラフィックの急増やコストのかかるクエリが予想以上のリソースを消費する場合でも、最新のアプリケーションは利用可能であり続ける必要があります。インテリジェント ワークロード マネジメント(IWM)は、 MongoDB Atlasが管理する可用性機能であり、過負荷下でもクラスターの応答性と予測性を維持します。

過負荷は、クラスターが処理できる以上の操作を受け取った場合に発生します。過負荷は、インフラストラクチャが増やすするよりも速く開発される可能性があります。オートスケーリングを有効にする場合でも、Atlas が追加のキャパシティーをプロビジョニングするには時間が必要です。これにより、クラスターがすべての操作を同じ方法で取り扱うと、不安定になる可能性があるウィンドウが開きます。 IWM は、ワークロードの急増とリソース負荷をリアルタイムでで監視し、対応することで、そのウィンドウを閉じます。

IWM は、 MongoDB 9.0 以降を実行中すべての専用クラスターに Atlas が適用する過負荷保護システムです。 IWM には、次の保護が含まれています。

  • 「常時オン」の保護は、キューで待機し、速度を低下させ、操作を優先して、クラスターが過大になるのを防ぎます。これらの保護は、過負荷に対する保護のベースラインを形成します。詳細については、「 常時オンの保護 」を参照してください。

  • ロード シード処理は、持続的な過負荷に応答して受信データベース操作を拒否するオプションの保護です。詳細については、「 ロード シェル 」を参照してください。

Atlas は、クラスターの階層、トポロジー、 MongoDB のバージョン、および ロード シェディング 構成に基づいて、これらの保護のサブセットを各クラスターに適用します。詳細については、「 クラスターとバージョンの要件 」を参照してください。

常時オン保護は、過負荷を回復し可用性を維持するために Atlas が適用する IWM 保護のベースライン セットです。これらの保護は、負荷分散が無効になっている場合でも常に実行され、オフにすることはできません。これらの保護のどれがクラスターに適用されるかについては、「 クラスターとバージョンの要件 」を参照してください。

  • Ingress キューイング: Atlasmongod は、クラスター内の各 プロセスに対して Ingressリクエストレート制限を実行します。これにより、各プロセスが操作の実行を許可する速度が決定されます。トラフィックの急増がクラスターの 予約キャパシティーを超えると、レート制限は、実行中の操作とリソースをめぐって競合するのではなく、超過の受信操作を Ingress キューに追加します。リソース使用率が高い状態が維持されている場合、レート制限者はより遅い速度で操作を許可するため、キューで待機する操作が増えます。レート制限は、クラスターで ロード シェル を有効にしている場合にのみ操作を拒否します。

    クラスターでリアクティブなオートスケーリングが有効になっている場合、Atlas はキューに入れられた操作のレートを使用して、クラスターをいつ増やすアップするかを決定します。 Atlas は、このレートを Atlas メトリクスの 操作数制限: キューで実行された操作 として報告します。詳細については、「 Atlas がクラスター階層をスケーリングする方法 」を参照してください。

  • 実行制御の優先順位: Atlas は、バックグラウンド ジョブやコストのかかるクエリよりも先に、重要な読み取りと書込み、および選挙などの内部クラスターのアクティビティを実行します。負荷がかかると、Atlas はまず、コストのかかる操作や長時間実行される操作、または優先順位の低い操作を遅くします。

  • キャッシュ エビクションとメモリの調整: Atlas は、クラスターがメモリを使用する方法を調整し、キャッシュされたデータを排除します。メモリが不足すると、メモリが不足実行中、最も必要なデータを繰り返しクリアしたりする代わりに、クラスターは制御された方法でスローダウンします。

  • 接続レートの制限: 接続ストーム中、Atlas は既存の接続を維持しながら、新しいクライアント接続を安全な速度で許可し、超過の接続リクエストを拒否します。詳細については、「 接続レートの制限 」を参照してください。

  • 書込みブロック: Atlas Core クラスターでは、プライマリノードの空きディスク容量が大幅に少ない場合、Atlas はレプリカセットに対する書込み (write) 操作をブロックします。 Atlas は、書込みがブロックされている間も読み取りを処理し続けます。ブロック書込み操作には削除操作が含まれます。これは、ドキュメントを削除すると使用済みディスク容量が一時的に増加する可能性があるためです。シャーディングされたクラスターでは、Atlas は影響を受けるシャードにルーティングされた書込みのみをブロックします。

    Atlas が適用するしきい値は、ノードの合計ディスク サイズによって決まります。次の表は、各ディスク サイズ範囲のしきい値を示しています。

    Total Disk Size
    しきい値

    8 GiB から 20 GiB

    Atlas は、空きディスク容量が 600 MiB を下回ると、書込みをブロックします。 Atlas は、空きディスク容量が 900 MiB を超えると書込みのブロックを解除します。

    20 GiB から 1.25 TiB

    Atlas は、空きディスク容量が合計ディスク サイズの 4% を下回ると、書込みをブロックします。 Atlas は、空きディスク容量が合計ディスク サイズの 6% を超えると、書込みのブロックを解除します。

    1.25 TiB 以上

    Atlas は、空きディスク容量が 50 GiB を下回ると、書込みをブロックします。 Atlas は、空きディスク容量が 75 GiB を超えると書込みのブロックを解除します。

    ディスク容量を回復するには、クラスターストレージを増やすか、ストレージのオートスケーリングを有効にします。

    Atlas が書込みをブロックすると、Atlas ログには書込みがブロックされたことを示す MongoServerError が返されます。エラー コードと理由は、クラスターの機能の互換性バージョン(FCV)によって異なります。

    • FCV 9.0 以降のクラスターの場合、ログでは次のような MongoServerError が返されます:Replica set writes blocked, reason: InsufficientDiskSpace

    • 9.0 より前の FCV を使用するクラスターの場合、ログには次のような MongoServerError が返されます:User writes blocked, reason: DiskUseThresholdExceeded

    Atlas Infinite クラスターでは、レプリカセットの論理データ サイズがクラスターの最大ストレージ制限に近づくと、Atlas は書込みをブロックします。 Atlas Infinite クラスターのストレージ制限の詳細については、「 Atlas Infinite クラスターのストレージの管理 」を参照してください。

ロード シード処理は、受信データベース操作をできるだけ早く拒否して、クラスターへの影響を制限する IWM 保護です。 IWM の常にオンの保護とは異なり、ロード ヘディングは任意であるため、Atlas がクラスターにそれを適用するかどうかを制御できます。有効にすると、ロード シェルは持続的な過負荷時にのみ実行され、他の保護によって十分な負荷を軽減できない場合に実行されます。

IWM の常時オン保護の一環として、Atlas はクラスター内の各 プロセスに対して Ingressリクエストレート制限を実行します。このレート制限は、制御されたレートでプロセスへの操作を許可し、このレートよりも速く到達する操作リクエストをそのプロセスの Ingressmongod キューに追加します。

ロード シャーディングが有効になっている場合、Atlas はクラスター内の各mongod プロセスの Ingress キューのサイズを制限します。プロセスのキューがいっぱいになっているときに操作が到達した場合、Atlas は過負荷エラーで操作を拒否します。これにより、持続的な過負荷時にキューが大きくなりすぎるのを防ぎます。

ロード シャーディングが無効になっている場合、Atlas はクラスター内の任意のmongod プロセスの Ingress キューのサイズを制限したり、レート制限の許可レートよりも速く到達する操作を拒否したりしません。持続的な過負荷中、各mongod プロセスは無制限の数の操作をキューに追加し続けるため、操作が完了するまでの時間がかかります。

クラスターでリアクティブなオートスケーリングが有効になっている場合、Atlas はロード シェルが拒否する操作のレートを使用して、クラスターをいつ増やすアップするかを決定します。 Atlas は、Rejected Operations Atlas メトリクス の 操作レート制限 でこのレートを として報告します。詳細については、「 Atlas がクラスター階層をスケーリングする方法 」を参照してください。

ロード シェルは、M30+ MongoDB9.0 以降を実行中 レプリカセットクラスターでのみ使用できます。デフォルトでは 、Atlas はロード シェル設定の値をAtlas Managed に設定します。これにより、Atlas はクラスターのロード シェルの有効な状態を制御できます。 MongoDB9.0 では、その状態はDisabled です。

重要

ロード シェディングを有効にすると、クラスターの過負荷エラーの数が増加する可能性があります。これらのエラーの処理方法については、「 ロード シェルからの過負荷エラーの処理 」を参照してください。

クラスターで Load Shedding を構成するには、Atlas UIまたは Atlas Administration API を使用します。

インテリジェント ワークロード マネジメント(IWM)は、 MongoDB 9.0 以降を実行中すべての専用クラスターでアクティブになっています。 IWM は、 無料クラスターまたは Flex クラスターでは使用できません。

クラスターで IWM がアクティブな場合、Atlas はクラスターの階層、トポロジー、 MongoDBバージョン、および ロード シェディング構成 に基づいて、 IWM 保護のサブセットを適用します。次の表は、 MongoDB. 以降のクラスター層とトポロジーの各組み合わせに Atlas9 0が適用する保護を示しています。

IWM の保護
M10 と M20 クラスター
M30+ レプリカセットクラスター
M30+ シャーディングされたクラスター

Ingress キューイング

No

はい

No

実行制御の優先順位

No

はい

No

キャッシュエビクションとメモリ調整

はい

はい

はい

接続レートの制限

はい

はい

はい

書き込みブロッキング

はい

はい

はい

ロード 分割

No

はい、有効になっている場合

No

注意

MongoDB 9.0 バージョン要件の例外。

次の IWM 保護は、9.0 より前のバージョンのMongoDBを実行中クラスターではアクティブになっています。

  • 書込みブロックは、 M10+MongoDB8.0 以降を実行中 クラスターでアクティブになっています。

  • 次のMongoDBバージョンを実行中 クラスターと クラスターでは接続レート制限がアクティブになっています。M10M20

    • 7.0.23 以降の 7.0.x のリリース

    • 8.0.12 以降の 8.0.x のリリース

    • 8.1.2 以降の 8.1.x のリリース

Atlas は、 IWM がクラスターをいつ保護する場合や、Atlas が遅延または拒否した操作を示すいくつかの可視性のサートを提供します。