Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

実行中の操作の終了

項目一覧

  • Overview
  • 利用可能な手順

MongoDB は実行中の操作を終了するための 2 つの方法 maxTimeMS()db.killOp()を提供します。 必要に応じてこれらの操作を使用して、MongoDB の配置に関する操作の動作を制御します。

maxTimeMS() メソッドは、操作の時間制限を設定します。操作が指定された時間制限に達すると、MongoDB は次の 割り込みポイントで操作を中断します。

mongoshから、次のメソッドを使用して、このクエリに30ミリ秒の時間制限を設定します。

db.location.find( { "town": { "$regex": "(Pine Lumber)",
"$options": 'i' } } ).maxTimeMS(30)

distinct を使用して、city キーを持つ collection フィールドを個別に返すという、実行が長時間におよぶ操作を検討します。

db.runCommand( { distinct: "collection",
key: "city" } )

コマンド ドキュメントに maxTimeMS フィールドを追加して、操作に 45 ミリ秒の時間制限を設定できます。

db.runCommand( { distinct: "collection",
key: "city",
maxTimeMS: 45 } )

maxTimeMS に達する操作は、MaxTimeMSExpired エラーを返します。

db.killOp() メソッドは、次の割り込みポイントで実行中の操作を中断します。db.killOp() は、操作 ID によって対象となる操作を識別します。

db.killOp(<opId>)

警告

実行中の操作は、細心の注意を払って終了します。 クライアントによって開始された操作を終了するにはdb.killOp()のみを使用し、内部データベース操作は終了しません

killOpコマンドはmongosで実行でき、クエリを強制終了できます(例:クラスタ内のシャードにまたがる読み取り操作)。強制終了する操作が書込み操作の場合、mongos からのkillOpコマンドはシャードに伝達されません。

シャーディングされたクラスターでの操作の強制終了の詳細については、以下を参照してください。

mongos でアクティブなシャーディング操作を一覧表示する方法の詳細については、$currentOplocalOps パラメーターを参照してください。

戻る

管理