참고
이 페이지는 Atlas Infinite와 Atlas Core 모두에 적용됩니다.
개요
현대적인 애플리케이션은 트래픽이 급증하고 비용이 많이 드는 쿼리가 예상보다 많은 리소스를 소비할 때도 가용성을 유지해야 합니다. 지능형 워크로드 관리(IWM)는 과부하 상태에서도 클러스터의 응답성과 예측 가능성을 유지하는 MongoDB Atlas의 managed 가용성 기능입니다.
클러스터가 리소스가 처리할 수 있는 것보다 더 많은 작업을 수신하면 과부하가 발생합니다. 과부하는 인프라가 확장될 수 있는 것보다 더 빠르게 발생할 수 있습니다. 자동 확장을 활성화하더라도 Atlas가 추가 용량을 프로비저닝하는 데는 시간이 걸립니다. 이로 인해 클러스터가 모든 작업을 동일하게 처리할 경우 불안정해질 수 있는 창이 열립니다. IWM은 워크로드 급증과 리소스 압박을 실시간으로 모니터링하고 대응함으로써 해당 창을 닫습니다.
IWM은 Atlas가 MongoDB 9.0 이상을 실행하는 모든 전용 클러스터에 적용하는 과부하 방지 시스템입니다. IWM에는 다음과 같은 보호 기능이 포함되어 있습니다.
Always-on protections queue, slow down, and prioritize operations to prevent them from overwhelming the cluster. These protections form a baseline of defense against overload. To learn more, see Always-On Protections.
Load Shedding is an optional protection that rejects incoming database operations in response to sustained overload. To learn more, see Load Shedding.
Atlas applies a subset of these protections to each cluster, based on the cluster's tier, topology, MongoDB version, and Load Shedding configuration. To learn more, see Cluster and Version Requirements.
상시 보호
Always-on protections are the baseline set of IWM protections that Atlas applies to absorb overload and maintain availability. These protections run at all times, even when Load Shedding is disabled, and you can't turn them off. To learn which of these protections apply to your cluster, see Cluster and Version Requirements.
Ingress queueing: Atlas runs an ingress request rate limiter on each
mongodprocess in your cluster, which determines how quickly each process admits operations for execution. When a traffic spike outlasts your cluster's reserved capacity, the rate limiter adds excess incoming operations to an ingress queue instead of letting them compete for resources with running operations. If resource use stays high, the rate limiter admits operations at a slower rate, so more operations wait in the queue. The rate limiter rejects operations only if you enable Load Shedding on your cluster.클러스터에서 반응형 자동 확장이 활성화된 경우, Atlas는 대기 중인 작업의 비율을 사용하여 클러스터를 확장할 시기를 결정합니다. Atlas는 이 비율을 Atlas 지표의 작업 속도 제한: 대기 중인 작업으로 보고합니다. 자세한 내용은 Atlas가 클러스터 계층을 확장하는 방법을 참조하세요.
실행 제어 우선순위 부여: Atlas는 과부하시 배경 작업과 장기 실행 작업의 우선순위를 낮추어서 단기 실행 읽기 작업 및 쓰기 (write)이 계속 진행되도록 도움을 줍니다. 비즈니스 중요도와 관계없이 장기 실행 쿼리는 더 오래 걸릴 수 있습니다. 부하가 걸릴 때 Atlas는 비용이 많이 들거나, 시간이 오래 걸리거나, 우선 순위가 낮은 작업의 속도를 먼저 줄입니다.
캐시 제거 및 메모리 튜닝: Atlas는 클러스터가 메모리를 사용하고 캐시된 데이터를 제거하는 방식을 조정합니다. 메모리가 부족해지면 클러스터는 메모리가 부족해지거나 가장 필요한 데이터를 반복적으로 지우는 대신 제어된 방식으로 속도가 느려집니다.
연결 속도 제한: 연결 폭주 시 Atlas는 안전한 속도로 새 클라이언트 연결을 허용하고, 기존 연결은 유지하면서 초과 연결 요청은 거부합니다. 자세한 내용은 연결 속도 제한을 참조하십시오.
Write-blocking: On Atlas Core clusters, if the primary node runs critically low on free disk space, Atlas blocks write operations on the replica set. Atlas continues to serve reads while writes are blocked. Blocked write operations include delete operations, because deleting documents can temporarily increase used disk space. On sharded clusters, Atlas blocks only writes routed to the affected shard.
노드의 총 디스크 크기에 따라 Atlas가 적용하는 임계값이 결정됩니다. 다음 표에는 각 디스크 크기 범위에 대한 임계값이 나열되어 있습니다.
총 디스크 크기임계값8 GiB ~ 20 GiB
Atlas가 디스크 여유 공간이 600 MiB 미만으로 떠어질 경우 쓰기 (write)를 차단합니다. Atlas는 사용 가능한 디스크 공간이 900 MiB를 초과하면 쓰기 (write) 차단을 해제합니다.
20 GiB에서 1.25 TiB까지
Atlas 는 여유 디스크 공간이 총 디스크 크기의 4% 미만으로 떨어지면 쓰기 (write)를 차단합니다. 디스크 공간이 총 디스크 크기의 6%를 초과하면 Atlas 가 쓰기 (write) 차단을 해제합니다.
1.25 7600 TiB 이상
Atlas 는 디스크 여유 공간이 50 GiB 미만으로 떨어지면 쓰기 (write)를 차단합니다. Atlas 는 디스크 여유 공간이 75 GiB를 초과하면 쓰기 (write)를 차단 해제합니다.
디스크 공간을 확보하려면 클러스터 저장 공간을 늘리거나 저장 공간 자동 확장을 활성화하세요.
Atlas가 쓰기 (write)를 차단하면 Atlas 로그는 쓰기 (write)가 차단되었음을 나타내는
MongoServerError을(를) 반환합니다. 오류 코드와 이유는 클러스터의 기능 호환성 버전(기능 호환성 버전)에 따라 다릅니다.기능 호환성 버전 9.0 이상인 클러스터의 경우 로그는 다음과 유사한
MongoServerError를 반환합니다:Replica set writes blocked, reason: InsufficientDiskSpace.FCV가 9.0 이전인 클러스터의 경우, 로그는 다음과 유사한
MongoServerError를 반환합니다:User writes blocked, reason: DiskUseThresholdExceeded.
Atlas Infinite 클러스터에서 Atlas는 복제본 세트의 논리적 데이터 크기가 클러스터의 최대 저장 제한에 도달하면 쓰기 (write)를 차단합니다. Atlas Infinite 클러스터의 저장 제한에 대해 자세히 알아보려면 Atlas Infinite 클러스터에서 저장 관리를 참조하세요.
부하 제한
Load Shedding is an IWM protection that rejects incoming database operations as early as possible to limit their impact on the cluster. Unlike IWM's always-on protections, Load Shedding is optional, so you can control whether Atlas applies it to your cluster. When enabled, Load Shedding engages only during sustained overload, after other protections can't relieve enough pressure.
As part of IWM's always-on protections, Atlas runs an ingress request rate limiter on each mongod process in your cluster. This rate limiter admits operations into the process at a controlled rate, and adds any operation requests that arrive faster than this rate to an ingress queue on that process.
Load Shedding이 활성화되면 Atlas는 클러스터의 각 mongod 프로세스에서 수신 대기열의 크기를 제한합니다. 프로세스의 대기열이 가득 찬 상태에서 작업이 도착하면 Atlas는 과부하 오류와 함께 작업을 거부합니다. 이렇게 하면 지속적인 과부하 상황에서 대기열이 너무 커지는 것을 방지할 수 있습니다.
When Load Shedding is disabled, Atlas doesn't bound the size of the ingress queue on any mongod process in your cluster or reject any operations that arrive faster than the rate limiter's admission rate. During sustained overload, each mongod process continues to add an unbounded number of operations to its queue, so operations take longer to complete.
클러스터에서 반응형 자동 확장이 활성화된 경우, Atlas는 Load Shedding이 거부하는 작업 비율을 사용하여 클러스터를 확장할 시기를 결정합니다. Atlas는 이 비율을 Atlas 지표의 작업 속도 제한 아래에 Rejected Operations로 보고합니다. 자세한 내용은 Atlas가 클러스터 계층을 확장하는 방법을 참조하세요.
참고
로드 차단은 검색 로드 차단과 별개입니다. 부하 차단은 mongod 프로세스 에서 데이터베이스 작업을 거부합니다. 검색 로드 차단은 mongot 프로세스 에서 MongoDB 검색 및 MongoDB 벡터 검색 쿼리를 거부합니다. 두 보호 기능은 독립적이므로 하나를 구성해도 다른 보호 장치에는 영향을 주지 않습니다. 자세한 학습 은 다음을 참조하세요.
부하 분산(Load Shedding) 구성
Load Shedding은 MongoDB 9.0 이상을 실행하는 M30+ 복제본 세트 클러스터에서만 사용할 수 있습니다. 기본적으로 Atlas는 Load Shedding 설정의 값을 Atlas
Managed로 설정하며, 이를 통해 Atlas는 클러스터에 대한 Load Shedding의 유효 상태를 제어할 수 있습니다. MongoDB 9.0에서 해당 상태는 Disabled입니다.
중요
Load Shedding을 활성화하면 클러스터의 과부하 오류 수가 증가할 수 있습니다. 이러한 오류를 처리하는 방법을 알아보려면 Load Shedding으로 인한 과부하 오류 처리를 참조하세요.
클러스터에서 Load Shedding을(를) 구성하려면 Atlas UI 또는 Atlas Administration API를 사용하세요.
클러스터 및 버전 요구 사항
워크로드 관리(IWM)는 MongoDB 9.0 이상을 실행하는 모든 전용 클러스터에서 활성화됩니다. IWM은 무료 클러스터 또는 Flex 클러스터에서는 사용할 수 없습니다.
When IWM is active on a cluster, Atlas applies a subset of IWM protections based on the cluster's tier, topology, MongoDB version, and Load Shedding configuration. The following table lists the protections that Atlas applies to each combination of cluster tier and topology on MongoDB 9.0 and later:
IWM 보호 | M10 및 M20 클러스터 | M30+ 복제본 세트 클러스터 | M30+ 샤딩된 클러스터 |
|---|---|---|---|
수신 대기열 | No | 예 | No |
실행 제어 우선순위 지정 | No | 예 | No |
캐시 제거 및 메모리 튜닝 | 예 | 예 | 예 |
연결 속도 제한 | 예 | 예 | 예 |
쓰기 차단 | 예 | 예 | 예 |
부하 제한 | No | Yes, when enabled | No |
참고
MongoDB 9.0에 대한 예외 버전 요구 사항.
다음 IWM 보호 기능은 9.0 이전 버전의 MongoDB를 실행하는 클러스터에서 활성화되어 있습니다.
MongoDB 8.0 이상을 실행하는
M10+클러스터에서 쓰기 (write) 차단이 활성화됩니다.메모리 튜닝은 MongoDB 8.0 이상을 실행하는
M10+클러스터에서 활성화됩니다.캐시 제거는 MongoDB 8.3.3 이상 또는 MongoDB 8.0.28 이상을 실행하는
M10+클러스터에서 활성화됩니다.연결 속도 제한은 다음 MongoDB 버전을 실행하는
M10및M20클러스터에서 활성화됩니다.7.0.23 이상 및 7.0.x 릴리스
8.0.12 이상 및 8.0.x 릴리스
8.1.2 이상 및 8.1.x 릴리스
IWM 모니터
Atlas는 IWM이 클러스터를 보호하는 시점과 Atlas가 지연 또는 거부한 작업을 보여주는 여러 관찰 가능성 표면을 제공합니다.
IWM 관련 경고를 구성하고 검토하려면 경고 조건 설명서의 Intelligent 워크로드 관리를 참조하세요.
Load Shedding 변경과 같은 IWM 관련 이벤트를 검토하려면 활동 피드 보기를 참조하세요.