문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

실행 중인 작업 종료

이 페이지의 내용

  • 개요
  • 사용 가능한 절차

MongoDB는 실행 중인 작업을 종료하는 두 가지 기능 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()을(를) 사용하고 내부 데이터베이스 작업은 종료하지 않도록 합니다.

MongoDB 4.0부터 killOp 명령은 mongos에서 실행할 수 있으며 클러스터에서 샤드에 걸친 쿼리(즉, 읽기 작업)를 종료할 수 있습니다. mongoskillOp 명령은 쓰기 작업을 종료해야 하는 경우 샤드에 전파되지 않습니다.

샤드 클러스터의 작업 종료에 대한 자세한 내용은 다음을 참조하세요.

mongos에서 활성화된 샤딩 작업을 나열하는 방법에 관한 정보는 $currentOplocalOps 매개변수에서 확인 가능합니다.

← mongod 프로세스 관리

이 페이지의 내용