> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ClickHouse Cloud에서 수평 자동 스케일링 구성

# 수평 자동 스케일링

<Note>
  수평 자동 스케일링은 비공개 프리뷰로 제공되며 Scale 및 Enterprise 요금제에서 사용할 수 있습니다. 액세스를 요청하려면 ClickHouse 계정 팀 또는 지원팀에 문의하십시오.
</Note>

수평 자동 스케일링은 워크로드 수요에 따라 서비스의 레플리카를 자동으로 추가하거나 제거합니다. 수직 자동 스케일링이 각 레플리카의 크기를 조정하는 반면, 수평 자동 스케일링은 레플리카 수를 조정합니다. 따라서 더 무거운 쿼리보다 쿼리 수 증가로 수요가 발생하는 워크로드에 적합합니다.

<div id="how-it-works">
  ## 작동 방식
</div>

자동 스케일러는 서비스를 지속적으로 모니터링하고 다음 3가지 신호를 바탕으로 10분마다 수평 스케일링을 권장합니다.

* **동시 쿼리:** 모든 레플리카에서 동시에 실행 중인 최대 쿼리 수
* **CPU 활용률:** 모든 레플리카의 최대 CPU 사용량
* **메모리 활용률:** 모든 레플리카의 최대 메모리 사용량

자동 스케일러는 서비스 전체의 활용률을 60%로 유지하는 것을 목표로 합니다.

* **스케일 아웃:** 활용률이 80%의 상한 임계값을 초과하면 구성된 최대 레플리카 수까지 레플리카가 추가됩니다.
* **스케일 인:** 활용률이 45%의 하한 임계값 아래로 떨어지면 구성된 최소 레플리카 수까지 레플리카가 제거됩니다.

상한 및 하한 임계값 사이의 차이는 히스테리시스를 제공하여 서비스가 스케일 아웃과 스케일 인을 반복하지 않도록 합니다. 실행 중인 워크로드를 보호하기 위해 스케일 인은 스케일 아웃보다 의도적으로 더 보수적으로 수행됩니다.

<div id="enable-horizontal-autoscaling">
  ## 수평 자동 스케일링 활성화
</div>

수평 자동 스케일링은 서비스의 **설정** 페이지 또는 [ClickHouse Cloud 레플리카 스케일링 API](/docs/ko/products/cloud/api-reference/service/update-service-auto-scaling-settings)에서 구성할 수 있습니다.

활성화하려면 다음을 수행하세요.

1. 최소 메모리와 최대 메모리를 동일하게 설정하여 레플리카의 수직 크기를 고정하세요. 현재 수평 자동 스케일링을 사용하려면 레플리카 크기가 고정되어 있어야 하며, 하나의 서비스에서 수직 자동 스케일링과 수평 자동 스케일링을 동시에 활성화할 수 없습니다.
2. 최대 레플리카 수를 최소 레플리카 수보다 크게 설정하세요. 자동 스케일러는 이 범위 내에서 작동합니다. 두 값을 동일하게 설정하면 서비스의 레플리카 수가 고정되고 수평 자동 스케일링이 비활성화됩니다.

<Note>
  서비스는 최대 20개의 레플리카까지 수평 스케일링할 수 있습니다. 추가 레플리카가 필요하면 지원팀에 문의하세요.
</Note>

<div id="configure-your-clients">
  ## 클라이언트 구성
</div>

새 레플리카는 클라이언트가 해당 레플리카에 연결해야만 도움이 됩니다. 장기 연결은 연결이 열릴 당시 존재하던 레플리카에 계속 유지되므로, 새 레플리카를 사용하려면 클라이언트가 연결을 정기적으로 갱신해야 합니다.

다음 방법 중 하나로 클라이언트를 구성하십시오.

* **HTTP protocol(권장):** 기본적으로 연결 수명이 짧으므로 트래픽이 새 레플리카로 자동 분산됩니다.
* **Native protocol:** 연결이 정기적으로 다시 설정되도록 최대 연결 수명을 약 30초로 설정하십시오.

<div id="choose-the-right-replica-size">
  ## 적절한 레플리카 크기 선택
</div>

각 레플리카가 일반적인 쿼리를 충분한 여유를 두고 실행할 수 있을 때 수평 자동 스케일링이 가장 효과적입니다. 레플리카를 추가하면 서비스가 병렬로 실행할 수 있는 쿼리 수는 늘어나지만, 개별 쿼리에 사용할 수 있는 메모리는 늘어나지 않습니다.

권장 방식:

1. 일반적인 쿼리 몇 개가 메모리 오류 없이 여유롭게 실행되는 수직 크기를 찾습니다.
2. 서비스를 해당 크기로 고정합니다.
3. 쿼리 양이 늘어나면 수평 자동 스케일링으로 레플리카를 추가합니다.

레플리카가 워크로드에 비해 너무 작으면 자동 스케일러가 쿼리를 처리할 수 없는 레플리카를 추가할 수 있습니다. 이를 방지하기 위한 안전장치가 자동 스케일러에 포함되어 있습니다. 예를 들어, 추가 레플리카로 해결할 수 없는 단일 과도한 쿼리에 반응하여 스케일 아웃하지는 않습니다. 하지만 적절한 용량 산정은 여전히 중요한 요소입니다.

<div id="load-distribution">
  ## 부하 분산
</div>

수평 자동 스케일링은 부하가 레플리카 전체에 고르게 분산되어 있다고 가정합니다. 한 레플리카의 활용률이 90%이고 다른 레플리카는 10%에 머문다면, 레플리카를 추가해도 도움이 되지 않으므로 먼저 부하 불균형을 해결해야 합니다. 자동 스케일러는 부하 불균형을 감지하며, 이 상태가 지속되는 동안에는 스케일 아웃을 권장하지 않습니다.

불균형의 일반적인 원인으로는 일부 레플리카에 집중된 장기 연결([클라이언트 구성](#configure-your-clients) 참조)과 세션에 고정된 워크로드가 있습니다.

<div id="observe-scaling-activity">
  ## 스케일링 활동 확인
</div>

ClickHouse Cloud 콘솔의 서비스 메트릭 대시보드에서 스케일링 이벤트와 현재 레플리카 수, 총 리소스 할당량을 확인할 수 있습니다.

<div id="known-limitations">
  ## 알려진 제한 사항
</div>

* 수평 자동 스케일링은 비공개 프리뷰로 제공되며, ClickHouse 지원팀에서 조직에 대해 활성화해야 합니다.
* 최소 메모리를 최대 메모리와 동일하게 설정하여 수직 레플리카 크기를 고정해야 합니다.
* 각 서비스는 최대 20개의 레플리카로 제한됩니다. 추가 레플리카가 필요하면 지원팀에 문의하십시오.
* 권장 사항은 10분마다 생성됩니다. 수평 자동 스케일링은 1분 미만의 급격한 트래픽 증가를 처리하도록 설계되지 않았습니다. 예측 가능한 피크에는 [예약 스케일링](/docs/ko/products/cloud/features/autoscaling/scheduled-scaling)을 고려하십시오.
