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 = 시스템 내 평균 항목 수 (처리 중이거나 대기 중)

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

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

기하학적 해석: 한 축에 λ를, 다른 축에 W를 그립니다. 곱 L은 이 둘이 형성하는 사각형의 넓이입니다. 용량 계획은 이 사각형 안에 존재합니다.

중요성: 세 가지 양 중 두 가지를 알면 나머지 하나를 결정할 수 있습니다. 처리량과 지연 시간을 측정하면 점유율을 알 수 있고, 점유율과 처리량을 측정하면 지연 시간을 알 수 있습니다. 이 법칙은 강력합니다: 웹 요청, 레스토랑 테이블, 슈퍼마켓 대기열, CPU 파이프라인에 수정 없이 적용됩니다.

세 가지 구체적인 예시:

- 웹 서비스가 초당 200건의 요청을 처리하고 평균 지연 시간이 50ms(0.05초)입니다. L = 200 × 0.05 = 10건이 진행 중입니다.

- 커피숍이 시간당 60명의 고객을 응대하고 평균 체류 시간이 15분(0.25시간)입니다. L = 60 × 0.25 = 15명의 고객이 내부에 있습니다.

- 백엔드 풀이 초당 1500건의 요청을 처리하고 평균 지연 시간이 200ms(0.2초)입니다. L = 1500 × 0.2 = 300건이 진행 중입니다.

크기 설정 함의: 해당 계층의 워커 수/스레드 수/커넥션 수는 대응하기 위해 최소한 L 이상이어야 합니다. 그보다 적으면 대기열이 증가합니다.

Little's Law as area: λ on x, W on y, L = area

API 계층이 초당 1,200건의 요청을 처리하고 평균 지연 시간이 80ms입니다. 리틀의 법칙을 적용하여 L을 계산하십시오. 그리고 다음 두 가지 경우에서 무엇이 변하는지 설명하십시오. (a) 트래픽이 지연 시간 변화 없이 2,400 req/s로 두 배가 되는 경우, (b) 트래픽은 1,200 req/s로 유지되지만 지연 시간이 160ms로 증가하는 경우. 어떤 시나리오가 더 큰 L을 생성하며, 이는 운영 측면에서 무엇을 의미합니까?

왜 지연 시간이 80% 사용률을 넘어서면 급격히 증가하는가

운영에서 가장 중요한 곡선

x축에 사용률(0%~100%), y축에 평균 대기 시간을 그래프로 나타내면, 그 모양은 용량 계획에서 가장 중요한 곡선 중 하나입니다.

M/M/1 대기열 모델: 포아송 도착(무작위)과 지수 분포 서비스 시간(무작위)을 가진 시스템의 경우, 평균 대기 시간은 다음과 같습니다:

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

여기서 ρ는 사용률(0~1), μ는 서비스 속도입니다.

곡선의 모양:

- ρ = 0.5(50% 사용률)일 때, 대기 시간은 매우 짧습니다(서비스 시간 1회분).

- ρ = 0.7(70% 사용률)일 때, 대기 시간은 서비스 시간의 약 2.3배입니다.

- ρ = 0.8(80% 사용률)일 때, 대기 시간은 서비스 시간의 약 4배입니다.

- ρ = 0.9(90% 사용률)일 때, 대기 시간은 서비스 시간의 약 9배입니다.

- ρ = 0.95(95% 사용률)일 때, 대기 시간은 서비스 시간의 약 19배입니다.

- ρ = 1.0(100% 사용률)일 때, 대기 시간은 무한대입니다.

곡선의 무릎(knee): 약 80% 사용률 부근에서 곡선이 급격하게 꺾입니다. 무릎 아래에서는 용량이 여유롭지만, 무릎 위에서는 사용률 증가 속도보다 지연 시간이 더 빠르게 증가합니다.

실용적 해석: 정상 상태(steady-state)를 위해 70% 사용률을 목표로 하되, 절대 100%를 넘지 마세요. 30%의 '여유 공간(headroom)'은 낭비가 아니라, 제한된 지연 시간을 유지하기 위한 대가입니다.

80% 사용률에서 무릎이 있는 대기 곡선

무릎 지점(Knee Point)을 가로지르는 용량 설정

두 가지 시나리오:

시나리오 A: 10개의 리플리카가 60% CPU 사용률로 실행 중. 지연 시간 p99 = 100 ms.

시나리오 B: 트래픽 증가로 인해 동일한 플릿이 90% CPU 사용률로 실행 중. p99 = 600 ms.

동일한 플릿, 동일한 코드, 오직 사용률만 변경됨.

큐잉 곡선의 기하학적 형태를 사용하여, 사용률이 1.5배 증가한 것만으로도 시나리오 B의 지연 시간이 6배 더 나쁜 이유를 설명하십시오. 또한, 팀이 언제 용량을 추가해야 하는지 제안하고, 왜 실제 SLO 위반을 기다리는 대신 그 임계값을 선택해야 하는지 이유를 설명하십시오.

크기 및 트리거 통합 적용

종합

이제 리틀의 법칙을 직사각형으로 적용하고, 대기열 곡선과 그 무릎 지점을 읽으며, 이 둘을 모두 용량 결정과 연결할 수 있습니다.

둘 다 적용해 보세요.

백엔드 티어가 2,000 req/s를 처리하며, 평균 레이턴시는 50 ms이고, 리플리카당 처리 용량은 CPU 70%에서 80 req/s입니다. 서지 팩터는 2배이며, 3개의 리플리카가 동시에 장애를 겪어도 시스템이 견뎌내도록 구성하고자 합니다.

계산하십시오: (1) 베이스라인에서 리틀의 법칙(Little's Law)을 사용하여 L(평균 대기 중인 요청 수)을 구하고; (2) 수업 공식(피크 × 서지 / 리플리카당 처리량) + 헤드룸을 사용하여 리플리카 수를 구하고; (3) 플릿 전체에서 관찰되는 사용률(Utilization)이 어느 수준일 때 오토스케일링을 트리거해야 하는지, 그리고 큐잉 곡선(queueing curve)을 사용하여 해당 임계값을 정당화하십시오.

동반 노트

동반 노트

이 기하학 레슨은 무상태 수평 확장 주요 레슨을 정량적 기하학으로 재구성합니다.

다음 동반 레슨인 geometry_of_ingress_egress_separation는 네트워크 경계 분리를 이분 그래프로 재구성하며, 이 분리가 제거하는 절단 꼭짓점을 포함합니다.

잘 하셨습니다.