Compute Module 수평 확장
Compute Module은 같은 자원 구성의 복제본(Replica) 수를 조절하여 부하에 대응합니다. 최소/최대 복제본과 복제본당 동시 처리 수가 확장 동작에 영향을 줍니다.
복제본 수와 동시성
최소를 0보다 크게 두면 요청이 없어도 그 수의 복제본을 실행합니다. 0이면 요청이 없는 동안 0까지 줄일 수 있지만 새 요청, 최초 배포 또는 예측 부하가 있으면 다시 늘릴 수 있습니다.
최대는 동시에 활성화할 복제본의 상한입니다. 급격한 트래픽 증가에 따른 자원 및 사용량을 제한하는 데 사용합니다.
동시성 한도(Concurrency limit)는 복제본 하나가 함께 처리할 요청 수이며 기본은 1입니다. 예를 들어 3이면 한 복제본에 최대 세 쿼리를 처리하게 합니다. 공식 SDK는 설정을 처리하며 사용자 클라이언트는 MAX_CONCURRENT_TASKS 환경 변수에서 읽습니다.
부하 계산과 임계값
실행 중 복제본이 있을 때 부하는 다음 비율입니다.
실행 중 작업 수 / (현재 복제본 수 × 복제본당 동시성 한도)
증설 및 축소 임계값은 0.0부터 1.0이며 증설 임계값이 축소 임계값보다 낮으면 안 됩니다.
| 설정 | 기본값 | 동작 |
|---|---|---|
| Scale-up load threshold | 0.75 | 부하가 이 값 이상으로 증설 지연 동안 유지되면 복제본 하나 추가 |
| Scale-down load threshold | 0.75 | 부하가 이 값 미만으로 축소 지연 동안 유지되면 복제본 하나 제거 |
| Scale-up delay | 1분 | 증설 조건 유지 시간. 축소 지연보다 길 수 없음 |
| Scale-down delay | 30분 | 축소 조건 유지 시간 |
동시성 한도를 낮추면 같은 요청 수에서도 계산 부하가 높아져 더 적극적으로 수평 확장할 수 있습니다. 임계값의 같음은 증설 쪽에 포함되고 축소 쪽에는 포함되지 않습니다.
예측 확장
과거 쿼리 부하를 바탕으로 수요가 생기기 전에 복제본을 늘릴 수 있습니다. 예측이 빗나가면 조정하고 다시 줄이며 설정한 최대 복제본을 지킵니다. 최소가 0이어도 요청이 없는 모든 시간에 사용량이 0이라는 뜻은 아닙니다.
시간대별 override
Scaling에서 Enable scheduled overrides를 켜면 요일과 시간대별로 최소 및 최대 복제본을 바꿀 수 있습니다.
Override minimum replicas, Override maximum replicas, Active on의 요일 및 Time range와 timezone을 설정합니다. 해당 기간 밖에는 기본 복제본 구성을 사용합니다. 현재 예약 override는 하나만 지원합니다.
실행 중인 복제본의 비용은 사용량 계산, 요청을 받을 준비 상태는 probe, 과거 확장 결과는 이력에서 확인합니다.