Featured image of post [Performance 11] Introduction: Low-latency 성능 설계·의사결정

[Performance 11] Introduction: Low-latency 성능 설계·의사결정

Low-latency 성능 설계·의사결정 트랙의 도입 챕터입니다. 최적화의 시작/중단 기준과 팀 합의, trade-off 판단을 정리하고, 다른 트랙과의 경계(책임 분리)를 명확히 하는 프레임을 제공합니다. 리드·아키텍트가 기술 선택을 조직 차원에서 합의하는 데 필요한 18개 챕터를 안내합니다.

이 트랙은 “기술의 경계를 정하는 트랙"입니다. µs 요구가 들어오면 모든 레이어가 얽히기 때문에, 무엇을 어떤 트랙이 책임지는지 합의하지 않으면 최적화가 끝나지 않습니다.

이 트랙이 책임지는 범위

  • 언제 최적화를 시작해야 하는가(측정/병목/목표의 정의)
  • 언제 멈춰야 하는가(효과 대비 비용, 리스크, 유지보수)
  • 가독성과 성능의 trade-off 판단 기준
  • 팀 단위 성능 합의 기준(예: latency budget, SLO, PR 규칙)

위 네 가지는 모두 “무엇을 최적화할지” 이전에 “이 상황에서 최적화를 논의해도 되는가"를 결정하는 질문입니다. 그래서 이 트랙은 구체적인 기법(어떻게 빠르게 만드는가)이 아니라, 그 기법을 쓸지 말지를 조직 차원에서 합의하는 절차를 다룹니다.

이 트랙이 다루지 않는 것 (경계)

앞서 정한 “언제·왜 최적화할지"가 결정된 뒤에는, 실제로 “어떻게 빠르게 만들지"는 각 전문 트랙의 몫입니다.

  • C++/컴파일러/메모리/동시성/CPU/OS의 구체 기법 상세 (→ 각 트랙)
  • “벤치마크를 어떻게 짜는가” 같은 도구 상세 (→ 프로파일링 트랙)

흔한 오해 하나를 짚으면: “SLO를 정하면 그것이 곧 SLA(고객과의 계약)가 된다"는 생각입니다. SLO는 팀 내부의 목표치이고 SLA는 그 목표를 못 지켰을 때의 계약상 책임을 규정한 것이라, SLO를 SLA보다 느슨하게 잡아 여유(에러버짓)를 두는 것이 일반적입니다. 이 구분을 Google SRE Book, “Service Level Objectives”가 자세히 다룹니다.

커리큘럼

난이도 범례: 기초(입문) · 중급(실무 핵심) · 심화(깊은 분석·전문 주제) · 전문(극한·니치). Tr.NNoptimization-NN-* 트랙을 가리킵니다.

이 트랙은 번호 순서대로(01 → 18) 읽으면 됩니다. 01은 SLO·p99·latency budget 같은 핵심 어휘를 먼저 맞추고, 02–06은 “언제 시작하고, 언제 멈추고, 무엇을 목표로 삼을지”라는 공통 프레임을 만듭니다.

챕터제목난이도핵심 내용
01성능 용어·지표 입문기초SLO/p99/throughput/latency budget 직관과 첫 목표 설정
02최적화 시작 시점기초언제 최적화를 시작해야 하는가
03최적화 중단 시점중급언제 멈춰야 하는가 (비용/효과/리스크)
04가독성 vs 성능중급가독성과 성능의 trade-off 판단 기준
05성능 예산 수립중급성능 예산 수립 방법론
06SLO/SLA 정의심화SLO/SLA 정의와 팀 합의, 에러버짓의 조직적 거버넌스화 트렌드(단, C++ 저지연 도메인 특화 근거는 약함)
07지연시간 vs 처리량중급지연시간 vs 처리량 아키텍처 결정
08Low-latency 아키텍처심화Low-latency 아키텍처 패턴
09캐싱 전략중급캐싱 전략과 성능 영향
10데이터베이스 접근중급데이터베이스 접근 최적화 전략
11팀 성능 문화중급팀 단위 성능 문화 구축
12성능 코드 리뷰중급성능 관점 코드 리뷰 가이드, AI 코드리뷰(Claude Code Review 등) 워크플로우와 “AI 리뷰어(조기 시맨틱 피드백)+정적분석(결정론적 게이트)” 역할 분담
13Capacity Planning심화용량 계획 방법론과 성능 목표 설정
14Load Testing 설계심화부하 테스트 설계와 성능 목표 검증
15Cost-Performance 분석심화클라우드 환경에서의 비용 대비 성능 분석
16규제·보안 제약 하 성능전문규정 준수·보안 통제·성능 예산의 충돌과 완화 (Tr.06·Tr.10 연계)
17메모리 안전성 트레이드오프전문극한 성능과 메모리 안전성(Rust FFI 등) 간의 아키텍처 결정 기준
18Event-driven 아키텍처 성능심화이벤트 기반 설계의 지연시간·처리량 트레이드오프와 선택 기준

측정과 검증 (이 트랙 기준)

  • 목표 지표 정의(p50/p95/p99, worst-case, budget)
  • 성능 변경을 받아들이는 기준(유의미한 개선/악화의 정의)
  • 팀 운영 규칙으로 회귀를 차단(자동화/리뷰 프로세스)

추천 선행/병행 트랙

  • 선행: Low-latency 프로파일링·성능 분석 (Tr.01)
  • 병행: Tr.01–08 중 현재 병목 후보 트랙 (경계·우선순위 합의를 위해 참조)

이 트랙은 기술 트랙을 아우르는 리드·아키텍트 관점의 프레임입니다.

왜 이 트랙인가 (동기)

기술 트랙이 “어떻게 빠르게 만들지”를 다룬다면, 이 트랙은 언제 시작하고 언제 멈출지, 가독성·비용·SLO와 어떻게 맞출지를 다룹니다. µs 요구가 있으면 Tr.02부터 Tr.10까지 후보가 동시에 떠오르기 쉬운데, 합의 없이 진행하면 같은 병목을 두 팀이 중복 공략하거나, 반대로 아무도 책임지지 않는 구멍이 생깁니다.

Phase별 학습 궤적

Phase A — 용어·시작·중단·trade-off (챕터 01–04) SLO/p99 같은 공통 어휘를 먼저 맞추고, 측정 없는 최적화와 무한 최적화를 동시에 막는 기준을 만듭니다.

Phase B — 예산·SLO·아키텍처 (챕터 05–10) 지연 vs 처리량, 캐싱, DB 접근은 제품 요구와 직결됩니다. Tr.04·Tr.09·Tr.10와 질문을 나누는 연습이 필요합니다.

Phase C — 조직·운영 (챕터 11–17) 팀 문화, 코드 리뷰, 용량 계획, 부하 테스트, 클라우드 비용 및 규제/안전성 트레이드오프는 심화–전문입니다. Tr.12(회귀 방지)과 세트로 읽으면 “목표→검증→유지”가 닫힙니다.

이 트랙을 마친 후 달성할 목표

  • 합의: 성능 목표와 예산을 이해관계자와 정의할 수 있다.
  • 우선순위: Tr.01–08 중 어디를 먼저 열지 근거를 말할 수 있다.
  • 중단: 효과 대비 비용으로 최적화를 멈출 시점을 정할 수 있다.

평가 기준과 이 장을 읽은 후 확인

  • “이 병목은 어느 트랙 소관인가”를 챕터 하나를 예로 들어 분류할 수 있는가?
  • SLO와 performance budget(Tr.12)의 관계를 한 문장으로 말할 수 있는가?

범위와 경계

flowchart LR
  subgraph inScope [이 트랙]
    A["목표·예산·SLO"]
    B["아키텍처 trade-off"]
    C["팀 프로세스"]
  end
  subgraph outScope [경계 밖]
    D["구체 C++ Tr.02"]
    E["벤치 작성 Tr.01"]
  end
  inScope --> outScope

심화·전문가 확장 궤적

부하 테스트·용량 계획·클라우드 비용 분석은 심화 난이도입니다. 프로덕션 트래픽 대표성(Tr.01)과 연결해 해석하지 않으면 목표가 공허해질 수 있습니다.

시리즈 전체 로드맵

12개 트랙의 권장 순서·심화 진입 조건은 Low-latency 최적화 시리즈 개요를 참고하세요.

지금 바로 이어 읽을 곳

01 → 02 → 03 순으로 읽으면 성능 용어·지표 입문에서 최적화 시작·중단 시점 판단까지 이어집니다.