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: 직사각형

Little의 법칙: 용량 계획에서 가장 유용한 방정식

John Little는 1961년에 내부 구조가 무엇이든 안정적인 모든 대기열에 대해 다음을 증명했습니다: 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명.

- 공장 라인은 시간당 100개 위젯을 생산하고 각 위젯은 처음부터 끝까지 2시간이 걸립니다. L = 100 × 2 = 처리 중인 위젯 200개.

프로비저닝 의미: L의 크기를 정할 수 있다면(동시에 비행 중인 항목), 시스템을 정한 것입니다. 워커 스레드 수, 데이터베이스 연결 수, 대기열 슬롯 모두 L에서 유래합니다.

Little의 법칙을 직사각형으로: x축 λ, y축 W, 면적 = L

워커 풀 크기 조정

비디오 트랜스코딩 서비스는 분당 30개의 트랜스코딩 작업의 평균 도착률로 크기가 지정되어 있으며, 각각은 처음부터 끝까지 90초가 걸립니다. 현재 워커 풀은 30명의 워커입니다.

Little의 법칙을 적용하여 현재 풀이 적절하게 크기가 지정되어 있는지 결정합니다. 작업을 표시합니다. 그런 다음 도착률이 두 배가 되면 무엇이 변하는지, & 개별 트랜스코드 시간이 두 배가 되면 무엇이 변하는지 설명합니다. 어느 시나리오가 시스템에 더 많은 스트레스를 줍니까?

80% 사용률을 초과할 때 지연이 폭발하는 이유

용량 계획에서 가장 중요한 곡선

x축에 사용률(0%~100%)을, y축에 평균 지연을 그립니다. 나타나는 형태는 작업에서 가장 중요한 곡선 중 하나입니다: 팀이 사용률을 100% 아래로 목표하는 이유, 예약된 헤드룸이 낭비가 아닌 이유, & 높은 사용률에서 '효율적으로' 실행되는 시스템이 경고 없이 실패하는 이유를 설명합니다.

M/M/1 대기열 곡선: Poisson 도착(임의) & 지수 서비스 시간(임의)이 있는 시스템의 경우 평균 대기 시간은 다음을 따릅니다:

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

여기서 ρ(rho)는 사용률(0~1)이고 μ는 서비스 레이트입니다. 분모(1-ρ)가 핵심입니다: ρ가 1에 가까워질수록 분모는 0에 가까워지고 대기 시간은 무한대에 가까워집니다.

숫자 예: (M/M/1의 ρ 대비 지연 배수):

- ρ = 0.5: 지연 비율 1.0(기준선)

- ρ = 0.7: 지연 비율 ~2.3

- ρ = 0.8: 지연 비율 ~4.0

- ρ = 0.9: 지연 비율 ~9.0

- ρ = 0.95: 지연 비율 ~19.0

- ρ = 0.99: 지연 비율 ~99.0

팔꿈치는 약 70-80% 사용률에 위치합니다. 팔꿈치 아래에서는 부하를 추가하면 지연이 천천히 증가합니다. 팔꿈치 위에서는 지연이 비선형적으로 폭발합니다. 이것이 표준 SRE 규칙인 정상 상태 사용률 목표 80% 이하, 지속적으로 90% 이상 실행 금지인 이유입니다.

전통적인 작업 팀이 이것을 과소평가하는 이유: 60% CPU에서 서버는 '바쁜 것처럼 보이지만' 편안한 지연 헤드룸을 가집니다. 90% CPU에서 서버는 '생산적인 것처럼 보이지만' 작업 부하 범프 하나 떨어져 있습니다. 기하학적 진실: 곡선의 현재 y값이 아니라 기울기가 실제 위협입니다.

M/M/1 대기열 곡선: x = 사용률, y = 지연, 팔꿈치 ~80%

곡선 읽기

팀은 정상 상태에서 85% CPU 사용률로 서비스를 실행합니다. 현재 p99 지연은 200ms입니다. 그들은 더 이상 사용되지 않는 다른 서비스에서 작업을 통합하기 위해 30% 더 많은 트래픽을 추가하는 것을 고려하고 있습니다.

대기열 곡선을 사용하여 85%에서 약 110%(초과 용량)로의 지연을 예측합니다. CPU 사용률이 100% 이상 지속될 수 없는 이유는 무엇이며, & 이를 대체하는 눈에 띄는 증상은 무엇입니까? 통합된 작업 부하의 목표 사용률을 권장하고 남기는 헤드룸을 정당화합니다.

기울기, 절편, & 예측 원뿔

기울기에서 성장 읽기

수요 예측은 많은 경우 역사 데이터를 통해 올바른 선을 그리는 것으로 축소됩니다. 그 선의 기하학적 특성: 기울기, 절편, & 불확실성 원뿔은 전체 예측을 인코딩합니다.

선형 추세(y = mx + b): 짧은 윈도우 또는 진정한 선형 프로세스에 적합합니다. 기울기 m은 시간 단위당 성장률입니다. 절편 b는 시작 값입니다. 성장이 안정적일 때 유용합니다. 프로세스가 실제로 복합될 때 과소 추정하는 경향이 있습니다.

지수 추세(y = b × e^(mx)): 복합 성장에 적합합니다: 바이럴 채택, 사용자-네트워크 효과, 곱하기 계절성. 로그 스케일 y축에서 지수 성장은 선형이 되어 기울기 추정을 더 쉽게 만듭니다. 로그 스케일의 기울기 m은 시간 단위당 성장률입니다.

구간별 선형: 성장에 뚜렷한 레지스트림이 있을 때 적합합니다. 스타트업은 18개월 동안 천천히 성장하고, 6개월의 폭발적인 성장을 생산하는 바이럴 임계점을 가진 다음, 안정화할 수 있습니다. 세 개의 선형 세그먼트는 단일 곡선보다 더 잘 맞습니다.

예측 원뿔: 중앙 추정치 + 상한 및 하한, 미래로 넓혀지는 원뿔로 그립니다. 원뿔의 너비는 시간에 따라 증가합니다 불확실성이 복합되기 때문입니다. 4주 예측은 ±10% 경계를 가질 수 있습니다; 12개월 예측은 종종 ±50% 이상을 가집니다.

계절성 분해: 실제 수요는 추세 + 계절 주기 + 소음을 결합합니다. 통계 라이브러리(statsmodels, Prophet)는 계열을 이 세 구성 요소로 분해하여 추세를 계절 패턴과 별도로 투영할 수 있습니다. 기하학적으로 추세는 기본 드리프트, 계절성은 위의 주기적 반동, & 소음은 잔여 지터입니다.

예측 원뿔: 추세선, 계절성 반동, 넓혀지는 불확실성 경계

추세 모델 선택

24개월의 월간 요청 볼륨이 있습니다. 월 1-12는 1M에서 2M으로 성장했습니다(선형 모습, +83K/월). 월 13-18은 2M에서 4M으로 성장했습니다(더 가파름, +330K/월). 월 19-24는 4M에서 12M으로 성장했습니다(훨씬 더 가파름). 마케팅은 월 13일에 바이럴 제품 기능 출시를 임계점을 구동하는 것으로 확인합니다.

어느 추세 모델이 가장 적합합니까: 순수 선형, 순수 지수, 또는 구간별 선형? 기울기 거동을 사용하여 선택을 정당화합니다. 그런 다음 월 25-30을 예측하는 방법을 제안합니다: 명시적 중앙 추정치, 상한, & 하한. 어떤 실제 이벤트가 어느 한 경계를 깨뜨릴 수 있습니까?

용량 대 수요의 2D 기하학

모든 용량 팀이 사는 플롯

x축에 시간을 그립니다. y축에 수요와 용량을 두 개의 별도 선으로 그립니다. 시간의 모든 포인트에서 그들 사이의 수직 간격은 헤드룸입니다. 곡선 사이의 2D 영역은 헤드룸 봉투입니다.

세 가지 참고 모양:

- 건강한 봉투: 용량 선이 수요 선 위에 편하게 유지됩니다. 피크 동안 간격이 좁혀질 수 있지만 사라지지 않습니다. 봉투는 안전의 대역입니다.

- 닫는 봉투: 용량이 수요보다 느리게 성장합니다. 간격이 시간에 따라 좁혀집니다. 미래의 교점은 시스템이 헤드룸을 초과할 때입니다: 팀이 용량을 추가해야 하는 날짜.

- 반전 봉투: 수요가 용량을 초과합니다. 시스템이 사건 영토에 있습니다. 반전의 수직 크기는 어떻게든 제공되어야 하는 적자입니다(대기열 오버플로우, 오류율, 고객 영향).

표준 용량 계획 차트는 다음을 그립니다:

- 최근 수요 히스토리(실선 파란색)

- 경계가 있는 예측 수요(파선 + 음영 원뿔)

- 현재 용량(실선 녹색)

- 전달 날짜가 있는 계획된 용량 추가(단계 함수)

- 예측 수요가 현재 용량을 넘는 교점 날짜: 다음 프로비저닝의 마감일

시각적 의사결정 규칙: 용량 단계 함수가 항상 예측 원뿔의 상한 위에 있도록 합니다. 중앙 추정치로 프로비저닝하지 마십시오; 상한으로 프로비저닝합니다. 초과 프로비저닝의 비용은 유한합니다(일부 유휴 용량); 초과 프로비저닝의 비용은 무한합니다(손실된 사용자, 캐스케이드 실패, 평판 손상).

헤드룸 봉투: 수요선, 용량 단계 함수, 예측 원뿔, 교점 날짜

봉투 읽기

용량 차트는 다음을 보여줍니다: 현재 수요는 1,500 RPS 월 20% 성장입니다. 현재 용량은 2,500 RPS입니다. 새로운 서버 배치(+1,500 RPS 용량)는 8주에 도착합니다. 예측 원뿔은 8주 지평에서 ±15% 경계를 가집니다.

예측 수요(중앙 추정치, 상한)가 현재 용량을 칠 때의 날짜를 계산합니다. 새로운 서버 배치가 제시간에 도착합니까? 지금과 새로운 배치 도착 사이의 봉투의 시각적 모양은 무엇이며, & 상한 수요가 새로운 배치 도착 전에 현재 용량과 교차하면 어떤 조치를 취하시겠습니까?

용량의 기하학: 마무리

미래를 예측하는 모양

당신은 용량 계획 아래에서 실행되는 네 가지 기하학적 구조를 걸었습니다:

- Little의 법칙(L = λ × W) 정상 상태 점유율을 정의하는 직사각형의 면적으로

- 대기열 곡선 80% 사용률에서의 팔꿈치, 높은 사용률에서의 비선형 비용을 인코딩

- 추세 기울기 & 예측 원뿔 역사 데이터를 실행 가능한 예측으로 변환

- 헤드룸 봉투 시간에 따른 용량 대 수요의 2D 플롯, 프로비저닝 마감일을 표시하는 교점 날짜


용량 계획은 시각적 핵심에서 한 곡선을 다른 곡선 위에 안전하게 유지하는 규율입니다. 숫자는 드레싱입니다; 모양은 진실을 전달합니다. 대기열 곡선을 올바르게 읽는 용량 엔지니어는 CPU 대시보드가 숨기는 문제를 시스템이 이미 타고 있을 때까지 잡을 것입니다.


용량 계획에 대한 동반 과정은 관행을 다루었습니다: 측정, 예측, 천장 테스트, 헤드룸, & 스케일링. 이 과정은 그 아래의 기하학을 다루었습니다. 함께, 그들은 놀라움 없이 확장되는 서비스를 실행하는 시각적 & 분석적 비계를 형성합니다.