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 의Intelligent Workload Management(IWM) 정책은 로드 쉐딩(load-shedding) 정책으로, 과부하 시 클러스터 정상 상태로 유지하기 위해 작업을 거부하거나 종료합니다. 이러한 정책이 작동하면 서버 서버 과부하로 인해 거부하거나 종료한 작업에 대해 애플리케이션 새로운 오류가 표시될 수 있습니다. 이러한 과부하 오류에는 SystemOverloadedError 레이블이 있습니다.

다음 부하 분산 IWM 정책은 작업을 거부하거나 종료할 때 오류를 반환합니다.

역압 인식 드라이버 및 기타 클라이언트 라이브러리는 SystemOverloadedError 레이블이 있는 과부하 오류를 자동으로 인식하고 과부하 신호로 처리합니다. 오류에 RetryableError 레이블을 포함하여 재시도를 유도하는 레이블이 있는 경우 역압 인식 클라이언트 라이브러리는 지수 백오프 및 지터를 사용하여 작업을 자동으로 재시도합니다.

다음 표에는 역압을 인식하는 가장 오래된 클라이언트 라이브러리 버전이 나열되어 있습니다.

클라이언트 라이브러리
가장 이른 배압 인식 버전

C 드라이버

2.3

C++ 드라이버

4.3

.NET/C# 드라이버

3.8

Go 드라이버

2.6

Java 동기화 드라이버

5.7

Java Reactive Streams 드라이버

5.7

코틀린 코루틴 드라이버

5.7

Kotlin Sync 드라이버

5.7

Node.js 드라이버

7.2

PHP 라이브러리

2.3

PyMongo

4.17

Scala드라이버

5.7

역압 인식 클라이언트 라이브러리를 사용하는 경우 IWM 정책의 과부하 오류를 처리하다 위해 추가 재시도 로직을 구현 필요가 없습니다. 역압 인식 클라이언트 라이브러리를 사용하지 않는 경우 오버로드 오류 처리에서 지침 을 확인하세요.

역압 인식 클라이언트 라이브러리를 사용하지 않는 경우, 과부하 오류를 처리하다 위해 지수 백오프를 사용하여 오류 감지 및 재시도 로직을 구현 방법에 대한 예를 보려면 다음 절차를 참조하세요.

다음 절차에 따라 과부하 오류를 감지하고 지수 백오프로 재시도하는 유틸리티를 구현 .

과부하 오류로 인해 실패한 작업을 다시 시도할 때 과부하가 발생하지 않도록 하고 성공적인 재시도 가능성을 높이려면 다음 지침을 따르세요.

  • 재시도 시도 제한: 작업당 최대 번의 2 재시도를 사용합니다. 제한이 높으면 오류 비율이 줄어들지만 과부하 시 서버 부하가 증가하며, 재시도 횟수를 줄이면 서버 부하를 줄일 수 있지만 오류 비율이 증가할 수 있습니다.

  • 선택적으로 적용: 지연 시간에 민감하거나 비즈니스에 중요한 작업에만 이 패턴 사용하세요. 배경 워크로드의 경우 오류를 로그 하고 더 긴 지연으로 더 높은 수준에서 다시 시도합니다.

돌아가기

쿼리 센티널

이 페이지의 내용