용량 계획 및로드 성장
간략한 요약
전력은 예상되는 부하 증가 및 고장으로 대상 SLO를 견딜 수있는 기능입니다. 기초:1. 수요 예측 (기준 추세 + 계절 + 이벤트).
2. 로드 모델 (인터넷 오픈 모델).
3. 헤드 룸 및 잘못된 예산.
4. 스케일링 (수평선/수직/자동) + 리미터 (속도 제한/역압).
5. 금융: 시나리오 별 $/1000 RPS, $/ms p95, TCO.
용어와 측정 항목
처리량: RPS/QPS/CPS-실제 처리량.
대기 시간 p95/p99: 사용자 경로의 대상 SLO.
포화: CPU/메모리/IO/FD/연결/대기열 로딩.
오류율: 5xx/타임 아웃/429, 해당 기간의 잘못된 예산.
헤드 룸: 피크 트래픽시 자유 전력 공유 (30% 이상 권장).
버스트: 단기 스파이크 (초/분), 스파이크: 급격한 상승 × N.
기본 모델 및 공식
Little's Law (대기 시스템 용)
L = λ W
L은 시스템의 평균 요청 수이고 λ는 평균 진입률 (RPS) 이며 W는 시스템의 평균 시간입니다. 대기열 깊이 추정에 유용합니다.
부하 계수 (ρ)
ρ = λ / μ
μ- 서비스 속도 (100% CPU의 RPS). ρ→ 1이면 대기 시간이 비선형 적으로 증가합니다. 작업 지점 λ0을 유지하십시오. 6–0. 75.
안전 계수/마진
Capacity_required = Peak_load (1 + Headroom) Degradation_factor
여기서 Degradation _ factor는 N 장애, 캐시 저하, 하나의 PoP/영역 손실 (예: 1) 을 설명합니다. 2).
수요 예측
1. 이력: 주간/주 프로필, 계절성, 이벤트와의 상관 관계 (일치/스트림/지불).
2. 이벤트: 시나리오 계수 (일반 일 × 1, 토너먼트 × 2. 3, 최종 × 3. 5).
3. 변동의 원인: 마케팅 캠페인, 릴리스, 봇 이상.
4. 예측 단위: 경로 별 RPS (로그인, 로비, 카탈로그, 지불), CPS TLS, QPS DB, IOPS 디스크, 출구 Gbps.
5. 신뢰: 보수적이고 공격적인 두 가지 시나리오를 유지
시뮬레이션 불러오기
오픈 모델 (Poisson과 같은 도착): 공개 API/웹에 적합합니다-크기 조정에 사용하십시오.
폐쇄 모델 (VU + 사고 시간): 내부 시퀀스에 적합; 결합.
경로 혼합물: 엔드 포인트 당 가중치 분수; "핫" 뿐만 아니라 "비싼" (등록, 예금) 도 포함됩니다.
잊지 마십시오: 레트라, 대기열, 파트너 제한 (PSP, 타사 API).
안전 마진 설계
헤드 룸 목표: 피크까지 30% 이상 (인터넷 용); 결제 핵심 및 중요한 경로-40-50%.
N + 1/N + 2: SLO를 위반하지 않고 1-2 인스턴스/영역의 고장을 견뎌냅니다.
다 지역: 각 지역은 총 피크의 60% 이상을 끌어 당깁니다 (이웃의 손실에서 살아 남기 위해).
악화 모드: 보조 기능을 비활성화하고 페이로드를 줄이며 캐시/스테이크 응답을 활성화하십시
계층별로 크기 조정
네트워크/가장자리
전면의 CPS/RPS, TLS- 핸드 셰이크 p95, 재개 70% 이상, 출발 Gbps.
애니 캐스트/지리 라우팅, CNC/WAF 제한 (사전 동의).
여백: 링크/aplink는 피크 × 1입니다. 3, SYN 백 로그는 H3의 마진 UDP/443입니다.
밸런서/프록시
인스턴스 RPS, 열린 연결, 대기열, CPU/IRQ.
Keeplive 및 연결 풀링-백엔드에 대한 연결을 줄입니다.
재고: 게 아닙니다. 7, 경로 당 한정기 CPS/RPS.
응용 프로그램
고원에서 코어 당 목표 성능 (RPS/코어).
수영장 (스레드/DB/HTT) -제한이 없습니다.
재고: 최대 CPU 60-70% 및 대기 시간 트리거 (p95).
캐시
적중 비율, 핫셋 볼륨, 퇴거, 복제.
예약: 메모리 이하 1. 2 × 핫셋, 네트워크 헤드 룸 30% 이상.
데이터베이스
QPS/TPM, p95 요청, 잠금, 버퍼 캐시, WAL/복제 지연.
IOPS 및 대기 시간 드라이브는 p95의 핵심입니다.
여백: CPU 작동 지점 50-65%, 복제 지연 <대상; 차트 계획 및 읽기 복제본.
디스크/스토리지
IOPS (4k/64k), 처리량, fsync 비용.
재고: IOPS 이하 피크 × 1. 5, 대상 창의 대기 시간 p95; 로그/데이터를위한 별도의 풀.
GPU/ML (온라인 추론이있는 경우)
샘플/s, 대기 시간, VRAM 헤드 룸, 배치.
여백: "톱" 하중, 따뜻한 풀 GPU 아래의 배치 매개 변수.
자동 스케일링
HPA/KEDA: CPU 메트릭 + 사용자 정의 (p95 대기 시간, RPS, 큐).
따뜻한 수영장: 이벤트 전에 예열 된 인스턴스.
스텝 스케일링: "톱" 하지 않도록 쿨 다운 단계.
반응 시간: 프론트 레이어의 경우 T _ scale DB를 위해-미리.
제한자 및 역압
속도 제한은 IP/ASN/장치/경로입니다. 파트너 할당량.
TTL이있는 대기열, 타임 아웃 전에 "polite" (429/gray-vol 경유) 거부.
이데올로기: 지불 키; 예산 + 지터로 배상합니다.
붕괴 요청/SWR: 스플래시 중에 깨어나지 마십시오.
빠른 계산의 예
주어진: 35k RPS API 피크 예측, p95 묻은 250 ms, 60% CPU → 125 RPS/core에서 인스턴스 당 평균 서비스 시간 8ms, 인스턴스 당 8 코어 → ~ 1000 RPS/인스턴스.
1 단계 (재고 없음): 35 개 인스턴스.
2 단계 (헤드 룸 30%): 35 × 1. 3 = 46.
3 단계 (하나의 AZ 고장, + 20%): 46 × 1. 2 ≈ 55.
4 단계 (반올림 + 핫 리저브 10%): 61 개의 인스턴스.
체크: λ35k/( 61k) λ0입니다. 57-녹색 구역에서.
재무 모델 (FinOps)
계층 별 $/1000 RPS (에지, 프록시, 앱, DB).
$/ms p95 (꼬리 감소 비용).
TCO 시나리오: 주문형 vs 예약 대 현장 (중단 위험).
수용 인원 계획: 분기 별 계정/클러스터 한도, 클라우드 할당량, PSP/CDN한계.
실패 준비 및 DR
다중 AZ/영역: 각 암은 부하의 60% 를 차지합니다.
실패 계획: Anycast, GSLB 스위칭, TTL 계획 60-120 초를 철회하십시오.
중요한 종속성: PSP/은행 한도, 보조 제공 업체.
정기 연습: PoP/BG/캐시가 꺼진 게임 데이.
관찰 가능성 및 초기 채도 신호
안정적인 입력을 가진 p95/p99의 성장 및 대기열.
히트 비율 캐시 하락, 원산지 성장.
재전송/ECN CE가 증가하고 TLS 재개가 감소합니다.
성장 429/타임 아웃 및 재 시도 속도.
데이터베이스-충돌 성장, 체크 포인트 시간, WAL fsync.
운영 관행
용량 검토 월간: 사실 대 계획.
이벤트의 창 변경: 커널 동결 및 제한.
피크 10-30 분 전에 미리 따뜻하게 (CDN/DNA/SL/풀).
제한 버전 지정: Git에 수정 속도 제한/풀이 구성됩니다.
iGaming/fintech 특정
토너먼트/일치: 스파이크 + 고원 프로필, 봇을위한 회색 경로, 별도의 등록/예금 제한.
지불/PSP: 공급자/방법 할당량, 대체 경로, 출구 IP 풀, SLA Time-to-Wallet.
콘텐츠 제공 업체: 스튜디오, 핫 캐시, 샤드 풀 별 배포.
사기 방지/AML: 규칙/점수 제한, 최대 조명 규칙 저하.
구현 체크리스트
- 피크 예측 (기본/시즌/이벤트), 두 가지 시나리오.
- SLO/잘못된 예산 및 목표 헤드 룸 30% 이상.
- 계층 별 사이징 (에지/프록시/앱/캐시/DB/IO/네트워크).
- 속도 제한, 대기열, demotency, 재 시도 예산.
- HPA/KEDA + 따뜻한 수영장; 행사 전에 승진 계획.
- Multi-AZ/region, failover 플레이 북, TTL 및 GSLB.
- 클라우드/PSP/CNC 할당량은 일관되고 문서화되어 있습니다.
- 관찰 가능성: 용량 대시 보드, 초기 채도 신호.
- DR 연습 및 정기적 인 역량 검토.
공통 오류
광미/스파이크없이 평균 RPS를 계획하십시오.
ρ≈0. 9 "종이에" -약간의 소음으로 대기 시간이 폭발합니다.
외부 서비스 한계를 무시합니다 (PSP/CNC/DB 클러스터).
분해 모드가 없으며 배압이 계단식으로 실패합니다.
예열없이 자동 스케일-피크를 "후" 관리합니다.
모든 층에 대한 단일 헤드 룸-병목 현상이 발생합니다.
미니 플레이 북
피크 이벤트 전 (T-30 분)
1. minReplicas/target HPA를 늘리고 따뜻한 수영장을 활성화하십시오.
2. 예열하고, 캐시를 예열하십시오.
3. 동의 한대로 PSP 풀 한도 및 할당량을 올립니다.
4. 회색 경로/봇 필터, 좁은 무거운 끝점을 켜십시오.
지역의 부분 손실
1. GSLB → 인접 지역, TTL 60-120 s.
2. 저하 모드 사용 (캐시/단순화 된 체크 아웃).
3. PSP/출력 IP 한계를 재분배합니다.
4. 상태 통신, p95/오류 제어.
퇴각의 급증
1. 재시도 예산을 줄이고 백오프 + 지터를 활성화하십시오.
2. GET에서 요청 붕괴/SWR 사용
3. "잡음" ASN의 속도 제한을 일시적으로 강화하십시오.
결과
용량 계획은 수요 예측 + 엔지니어링 모델 + 안전 마진 + 운영 레버입니다. SLO 및 헤드 룸을 공식화하고, 외부 한계를 고려하고, 스케일링 및 분해를 자동화하고, "밀리 초당 비용" 을 측정하고 정기적 인 용량 검토를 수행하십시오. 그런 다음로드의 증가는 위험이 아니라 관리 가능한 비즈니스 지표로 바뀝니다.