Home 기술 문서 CDN을 위한 적응형 로드 밸런싱 시스템 평가
Applications

CDN을 위한 적응형 로드 밸런싱 시스템 평가

About The Author

Outline

CDN에서 전송되는 트래픽 양이 계속 증가함에 따라 PoP(Points of Presence)의 수와 크기 측면에서 CDN의 점유율을 지속적으로 확대하고 있습니다. PoP의 크기가 커짐에 따라 서버 전체에 로드를 분산하여 상태 및 안정성을 유지하고 일시적인 트래픽 급증에 대한 복원력을 보장하는 것이 중요합니다.

현재 부하 분산 시스템

POP에 도착하는 요청은 요청 URI에 따라 다른 서버로 로드 밸런싱됩니다.

요청이 POP에 도착하면 프런트 엔드 서버는 요청을 처리하고 요청된 URI를 기반으로 요청을 캐시 서버에 매핑합니다. 일관된 해싱(또는 정확히 말하자면 CARP -Cache Array Routing Protocol을 사용하여 수행된 Rendezvous 해싱)은 서버가 정상인 한 동일한 리소스가 항상 동일한 캐시 서버에 매핑되도록 보장합니다. 이러한 일관된 매핑은 성능을 위해 매우 중요합니다. 요청된 리소스가 캐시에 없는 서버로 요청을 보내려면 다른 서버에서 리소스를 가져와야 하므로 응답 대기 시간이 늘어납니다. 중요한 점은 일관된 해싱을 통해 POP의 모든 캐시 서버에 상당히 균일한 리소스 분포가 이루어지므로 작업 부하가 분산됩니다.

그러나 리소스에 따라 인기가 달라지며, 인기 있는 리소스를 제공하는 서버는 POP의 다른 리소스보다 훨씬 더 많은 트래픽을 제공 할 수 있습니다. 이러한 이유로 핫 파일링이라는 메커니즘은 리소스가 급속히 대중화되고 서버 네트워크 또는 CPU 리소스의 상당 부분을 사용하기 시작할 때 작동합니다. 핫 파일링은 하나 이상의 추가 서버에서 이 리소스를 빠르게 복제합니다. 복제본이 있는 서버를 프런트 엔드에 알리므로 리소스 생성 로드가 더 광범위하게 분산됩니다.

개선의 여지가 있음

현재 핫 파일링을 트리거하는 로직은 고정 임계값을 기반으로 합니다. 이 임계값은 단일 리소스가 미리 결정된 요청 속도 또는 서버에서 제공하는 바이트 수를 초과하는 요청을 처리하지 않도록 보장합니다. 리소스 로드가 해당 임계값을 초과하면 더 분산됩니다. 그러나 임계값이 고정되어 있는 문제는 서버 로드의 상당 부분이 해당 임계값 바로 아래의 리소스에 의해 생성되는 경우 해당 리소스는 핫 파일링되지 않는다는 것입니다. 따라서 각각의 요청 로드는 분산되지 않습니다.

이 때문에 리소스 기반 로드 밸런싱과 핫 파일링이 결합된 경우에도 POP의 서버 간 로드 분산이 불균일할 수 있으며 일부 서버는 중간 로드의 2-3배 이상을 제공하기도 합니다.

고르지 않은 네트워크 부하 분산은 주어진 시간에 많은 POP에서 일반적이며 일부 서버는 중앙값보다 최대 2배 많은 트래픽을 제공합니다.

서버가 용량에 도달하지 않는 한 성능이 유지될 수 있기 때문에 이러한 불균일성이 항상 문제가 되는 것은 아닙니다. 그러나 극단적 인 경우에는 그 영향이 매우 명백할 수 있습니다. 다음 그림에서는 이러한 효과의 실제 예를 보여 줍니다.

두 대의 서버가 네트워크 용량에 도달하거나 초과하는 반면 나머지 POP는 더 낮은 트래픽 볼륨을 제공합니다. 이상값 서버는 상태 점검(응답 시간)에서 명백한 인플레이션을 겪습니다.

특정 POP의 네트워크 부하 분산 스냅샷에서 대부분의 서버가 적은 양의 트래픽을 전송하는 동안 두 서버가 중간 부하의 2배 이상을 처리하여 하나 또는 몇 개의 매우 인기있는 리소스로 인해 용량에 도달합니다. 이는 최소 응답 시간의 프록시인 상태 점검 메트릭에 영향을 미칩니다. 이 메트릭의 정상 값은 일반적으로 1ms 미만이며 10ms를 초과하면 알림이 발생합니다. 이 예에서는 상태 검사가 100ms를 초과하는 값으로 증가하고 최소 1시간 동안 지속되어 오버로드된 서버의 성능이 저하될 수 있습니다.

또한 몇 개의 서버가 최대 며칠 동안 팝업의 나머지 서버보다 지속적으로 더 많이 로드되는 경우도 관찰되었습니다. 이러한 기간 동안 이러한 로드 된 서버는 일반적으로 POP의 다른 서버보다 수신 트래픽 급증에 덜 탄력적입니다. 사용량이 많은 시간대에는 부하가 용량에 도달하거나 초과할 수 있으므로 나머지 POP에는 사용 가능한 용량이 있습니다.

적응형 요청 로드 밸런싱 시스템

이러한 관찰을 바탕으로 동적 임계값을 갖는 핫 파일링의 개념을 연구해 왔습니다. 이 접근 방식은 지정된 시간에 서버 간 부하 분산과 각 서버가 해당 분산 내에 있는 위치를 고려합니다. 다음 조건에 따라 서버별 임계값은 부하 분산 시 서버의 위치 함수로 계산됩니다. 중간값보다 높은 부하를 가진 서버는 부하가 낮은 서버보다 낮은 임계값을 할당하여 분산 꼬리에 있는 서버에 대해 더 많은 오프로드를 선호합니다.

서버 임계값은 각 서버의 현재 부하 분산 위치에 따라 생성됩니다. Load가 median보다 높은 서버는 load가 낮은 서버보다 낮은 threshold를 할당한다.

보다 구체적으로, 핫 파일링 수준을 제어하는 두 가지 파라미터를 정의합니다.

  • BaseThresh 는 각 서버의 임계값에 대한 기준선 값을 제어합니다. 서버별 임계값은 이 값에서 파생되고 현재 로드에 따라 서버에 맞게 조정됩니다.
  • α ∈ (0, 2)는 오프로드가 필요한 서버에 대해 알고리즘이 가중치를 얼마나 적극적으로 조정하는지를 제어합니다.

그런 다음 POP의 각 서버에 대해 다음 공식을 사용하여 서버의 현재 부하에 반비례하는 가중치 (s) ∈ (0, 2)를 생성합니다 .

여기서 α ∈ (0, 1) B(s) 는 현재 서버 로드입니다 . BWmin 은 가장 낮은 로드 서버의 로드입니다 . BWmin 은 가장 높은 로드 서버의 로드입니다. 그러면 각 서버의 임계값 (s)는 다음과 같이 계산됩니다.

구현 시, 작업 부하에 적합한 값으로 BaseThresh를 구성합니다. 알고리즘이 α 값을 동적으로 선택할 수 있도록 하여, 부하가 많은 외부 서버가 중앙값에서 매우 멀리 떨어져 있는 경우 보다 적극적인 오프로딩이 실행되도록 합니다.

CDN 운영 워크로드를 사용한 평가

프로덕션 워크로드의 스냅샷을 사용하여 시뮬레이션 접근 방식을 평가합니다. POP에서 서버 전반에 걸친 부하 분포의 왜곡도를 측정하기 위해 “왜곡도 요소”를 정의합니다.

즉, S는 가장 로딩된 서버가 중앙값에서 얼마나 떨어져 있는지를 측정합니다. 예를 들어, S=2는 가장 로딩된 서버가 중앙값 부하의 2배를 제공한다는 것을 의미합니다. 이상적으로는 모든 서버가 중앙값에 가까워지기를 원하므로 S 값이 낮을수록 좋습니다(S=1이 이론적으로 최적임). 아래 그림은 동적 임계값, 모든 반복에서 생성된 새 핫 파일 수 및 각 반복에서 선택된 α 값에 따라 핫 파일링 프로세스의 여러 반복에서 S가 어떻게 변경되는지 보여줍니다.

알고리즘을 여러 번 반복한 후 부하 분산 로딩이 가장 많은 서버의 부하가 중앙값의 2.73배에서 중앙값의 1.42배로 감소하고 POP 내의 트래픽이 보다 균등하게 분산됩니다.

파란색 선(“시작”)은 POP에서 부하 분포의 실제 스냅샷을 나타내는 시작 상태를 나타냅니다. S는 더 이상 핫 파일(HF)이 생성되지 않는 지점에 도달할 때까지 각 반복 후에 감소합니다. 각 반복에서 꼬리가 잘리면 분포가 더 균일해지고 더 많은 서버가 중간 부하에 더 가깝습니다.

다음으로, 우리는 6 개의 다른 팝에 대해 동일한 실험을 10 번 반복합니다.

6개의 팝에 대한 왜곡도 계수(S)가 변경됩니다. s는 5회 반복하여 수렴하여 평균 92% 감소합니다.

그림에서 각 막대 그룹은 서로 다른 팝을 나타내며 그룹 내의 각 막대는 후속 반복을 나타냅니다. 각 그룹의 첫 번째 표시줄은 운영 워크로드 스냅샷에서 가져온 시작 상태를 나타냅니다. 각 막대는 10회 실행에 대한 값을 나타냅니다. 모든 경우에 S의 감소는 S가 더 허용 가능한 값에 도달하는 다음 반복보다 첫 번째 반복에서 훨씬 더 크게 나타납니다. 중요한 것은, 분포(수염으로 표시됨)와 이상값(다이아몬드)의 확산도 비슷하게 감소한다는 것입니다. 로드 밸런싱 메커니즘은 몇 번의 반복 후에 수렴되며 새로운 불균형 트래픽으로 인해 S가 높아질 때만 트리거됩니다.

다음 단계

POP에서 서버 전체에 로드를 분산하는 것은 성능에 중요합니다. 급속히 인기있는 리소스로 인해 어느 정도의 불균일성이 예상되지만 POP의 나머지 가용 용량에도 불구하고 지속적으로 과부하된 서버는 더 많은 수신 트래픽 급증에 대한 성능 및 복원력에 영향을 미칠 수 있습니다. 이 작업에서는 이러한 부하 불균일성을 완화하는 데 도움이 될 수 있는 기존 부하 분산 메커니즘의 개선 사항을 살펴보았습니다.

시뮬레이션 결과는 유망했으므로 우리는 이러한 변화를 기존 메커니즘에 적용하고 생산 결과를 모니터링하고 있습니다. 이 생산 방법을 테스트하면 보다 현실적인 결과를 얻고 시뮬레이션에서 정량화하기 어려운 추가 요인을 평가할 수 있습니다. 이러한 요인으로는 매우 동적인 워크로드에 대한 복원력, 시간 영향, 리소스 복제 변경 및 관련 오버헤드 등이 있습니다.

Akamai 웹 사이트를 방문하여 Akamai의 콘텐츠 전송 네트워크가 어떻게 더 나은 성능, 보안 및 안정성을 제공하는지 자세히 알아보십시오.

Tags

Just For You