Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

過負荷エラー

Atlas の IWM(インテリジェント ワークロード マネジメント)ポリシーは負荷分散されています。つまり、クラスターを過負荷で正常に保つために操作を拒否または終了します。これらのポリシーが機能すると、サーバーの過負荷により、サーバーが拒否または終了した操作に対する新しいエラーがアプリケーションに表示される可能性があります。これらの過負荷エラーにはSystemOverloadedError ラベルが付けられます。

次の負荷分散 IWM ポリシーは、操作を拒否または終了するとエラーを返します。

バックプレッシャー対応ドライバーとその他のクライアントライブラリは、SystemOverloadedError ラベルで過負荷エラーを自動的に認識し、過負荷のシグナルとして扱います。エラーに RetryableError ラベルなど、再試行を伴う ラベル がある場合、バックプレッシャー対応クライアントライブラリは指数バックオフとジャーナルを使用して操作を自動的に再試行します。

次の表は、バックプレッシャーに対応するクライアントライブラリの初期バージョンを示しています。

クライアント ライブラリ
バックプレッシャーに対応する以前のバージョン

C ドライバー

2.3

C++ ドライバー

4.3

.NET/C# ドライバー

3.8

Go Driver

2.6

Java Sync Driver

5.7

Java Reactive Streams ドライバー

5.7

Kotlin コルーチン ドライバー

5.7

Kotlin Sync ドライバー

5.7

Node.js ドライバー

7.2

PHP ライブラリ

2.3

PyMongo

4.17

Scala ドライバー

5.7

バックプレッシャー対応のクライアントライブラリを使用している場合、IWM ポリシーからの過負荷エラーを処理するために追加の再試行ロジックを実装する必要はありません。バックプレッシャー対応のクライアントライブラリを使用していない場合は、「 過負荷エラーのガイダンス」を参照してください。

バックプレッシャー対応のクライアントライブラリを使用していない場合は、過負荷エラーを処理するためにエラー検出および再試行ロジックを実装する方法の例については、次の手順を参照してください。

過負荷エラーを検出し、指数バックオフで再試行するためのユーティリティを実装するには、次の手順に従います。

過負荷エラーで失敗した操作を再試行する場合は、次のガイドラインを使用して過負荷にならないようにし、再試行が成功する可能性を増やします。

  • 2再試行を制限します。 1 回の操作ごとに最大 の再試行を使用します。値を高くするとエラー率は減りますが、過負荷時にサーバーの負荷が増加しますが、再試行の頻度が少ないとサーバーの負荷は軽減されますが、エラー率は増加します。

  • 選択的に適用します: このパターンは、レイテンシの影響を受けやすい操作またはビジネスに重要な操作でのみ使用してください。バックグラウンド ワークロードの場合、エラーをログ、より高いレベルで再試行し、遅延を増やします。

戻る

クエリ区別

項目一覧