English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

게스트
1 / ?
수업 목록으로

L = λ × W

용량 계획의 가장 유용한 방정식

어떤 안정된 큐에도 적용되며: L = λ × W, 여기서:

- L = 시스템 내의 평균 항목 수(진행 중 또는 대기 중)

- λ (lambda) = 평균 도착률(단위 시간당 항목)

- W = 각 항목이 시스템에 있는 평균 시간

기하학적 읽기: λ를 하나의 축에, W를 다른 축에 그리면 그들은 사각형의 면적을 생성합니다. 용량 계획은 이 사각형 내부에 있습니다.

왜 중요한가: 세 가지 수량 중 두 가지를 측정하면 세 번째를 알 수 있습니다. 통과량과 지연 시간을 측정하면 점유율을 알 수 있고, 통과량과 점유율을 측정하면 지연 시간을 알 수 있습니다. 이 법칙은 웹 요청, 레스토랑 테이블, 슈퍼마켓 대기열, CPU 파이프라인에 적용되며 변경 없이 사용할 수 있습니다.

세 가지 구체적인 예시:

- 웹 서비스는 200 req/s를 처리하며 평균 지연 시간이 50 ms(0.05 s)입니다. L = 200 × 0.05 = 10개가 진행 중입니다.

- 커피숍은 60명 고객/시간을 처리하며 평균 체류 시간이 15분(0.25시간)입니다. L = 60 × 0.25 = 15명이 내부에 있습니다.

- 백엔드 풀은 1500 req/s를 처리하며 평균 지연 시간이 200 ms(0.2 s)입니다. L = 1500 × 0.2 = 300개가 진행 중입니다.

사이징 인용: 티어의 작업자 수/스레드 수/연결 수는 L보다 적어야 합니다. 더 적으면 큐 성장입니다.

Little's Law의 면적: λ x, W y, L = 면적

Your API 계층은 1,200 req/s를 처리하며 평균 지연 시간이 80 ms입니다. Little's Law를 적용하여 L을 계산하고, (a) 교통량이 2,400 req/s로 두 배로 증가하고 지연 시간이 변경되지 않은 경우와 (b) 교통량이 1,200로 유지되고 지연 시간이 160 ms로 상승하는 경우의 변경 사항을 설명하십시오. 이러한 시나리오는 L이 더 큰 것을 생성하고 그 의미는 무엇인지 operationally?

지연 시간이 80% 활용률을 넘어서 폭발하는 이유

운영에서 가장 중요한 곡선

x 축에 이용률(0%에서 100%)을, y 축에 평균 대기 시간을 표시합니다. 용량 계획에서 가장 중요한 곡선 중 하나입니다.

M/M/1 큐잉 모델: 포아송 도착(난수)과 지수 서비스 시간(난수)이 있는 시스템의 평균 대기 시간:

W_q = ρ / (μ × (1 - ρ))

여기 ρ는 이용률(0에서 1)이고, μ는 서비스율입니다.

곡선의 모양:

- ρ = 0.5(50% util)에서 대기 시간은 작습니다(1 서비스 시간).

- ρ = 0.7(70% util)에서 대기 시간은 ~2.3 서비스 시간입니다.

- ρ = 0.8(80% util)에서 대기 시간은 ~4 서비스 시간입니다.

- ρ = 0.9(90% util)에서 대기 시간은 ~9 서비스 시간입니다.

- ρ = 0.95(95% util)에서 대기 시간은 ~19 서비스 시간입니다.

- ρ = 1.0(100% util)에서 대기 시간은 무한합니다.

무릎: 80% 이용률 근처에서 곡선이 급격히 굽게 됩니다. 무릎 아래에서는 용량이 편안합니다; 무릎 위에서는 이용률이 더 빠르게 증가하는 것보다 대기 시간이 더 빠르게 증가합니다.

실제 사용자 관점: 70% 이용률을 지속 상태에 사용하고, 100%를 사용하지 마십시오. 30%의 '허공'은 낭비가 아니라 유한한 대기 시간의 가격입니다.

무릎이 80% 이용률인 큐잉 곡선

무릎을 넘어 가는 용량 조정

두 가지 시나리오가 있습니다:

시나리오 A: 10개의 복제본이 60% CPU를 사용하고 있습니다. 대기 시간 p99 = 100 ms입니다.

시나리오 B: 같은 클러스터가 트래픽 증가로 인해 90% CPU를 사용하고 있습니다. p99 = 600 ms입니다.

같은 클러스터, 같은 코드, 이용률만 변경되었습니다.

큐잉 곡선의 지형을 사용하여 시나리오 B의 대기 시간이 6배 더 나쁜 이유와 1.5배의 이용률 증가로 인해 발생하는 것에 대해 설명하십시오. 그런 다음 실제 SLO 위반이 기다릴 때까지 용량을 추가해야 하는 이용률을 제안하고 왜 그 임계점 대신 기다릴 수 있는지 설명하십시오.

용량 및 트리거를 함께 조정합니다

통합

지금은 Little's 법칙을 직사각형으로 적용할 수 있으며, 대기열 곡선과 무릎을 읽고 두 가지를 용량 결정에 연결할 수 있습니다.

두 가지 모두 적용합니다.

백엔드 계층은 평균 레이턴시 50ms, 복제본 용량 80 req/s, 70% CPU 사용률로 2,000 req/s를 처리합니다. 2배의 급증 요인; 3개의 동시 복제본 실패를 견디고 싶습니다.

기본 상태에서 Little's 법칙을 사용하여 L을 계산하십시오. 레슨 공식에 따라 (피크 × 서러지 / per-replica) + headroom을 사용하여 복제본 수를 계산하십시오. 클러스터 전체에서 관찰된 이용률에서 autoscaling이 트리거되는지 정당화하고 큐잉 곡선을 사용하여 임계값을 정당화하십시오.

보조 주석

보조 주석

이 기하학 수업은 Stateless Horizontal Scaling 주 수업을 양적 기하학으로 재해석합니다.

다음 보조 주석, geometry_of_ingress_egress_separation,는 네트워크 경계를 분할하는 것을 이분 그래프로 재해석하고, 분할이 제거하는 쪼개기 정점이 있는 것으로 표현합니다.

잘 했어요.