359. MTTR (Mean Time To Repair) - 평균 수리 시간
핵심 인사이트 (3줄 요약)
- 본질: MTTR (Mean Time To Repair)은 시스템이나 구성요소가 고장 난 후 복구되는 평균 시간을 의미하며, 시스템의 복구 능력을 평가하는 핵심 지표이다.
- 가치: MTTR이 낮으면 시스템이 빠르게 복구되어 가동 중단 시간을 최소화할 수 있고, 이는 서비스 연속성 확보와 SLA 충족에 기여한다.
- 융합: MTTR은 가용성 (Availability) 계산식의 핵심 구성 요소이며, SRE (Site Reliability Engineering)에서 에러 예산 (Error Budget) 관리와 함께 시스템 안정성 향상에 활용된다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: MTTR (Mean Time To Repair)은 시스템이나 구성요소가 고장 난 후 복구되는 평균 시간을 의미한다. 고장 감지에서 복구 완료까지의 평균 경과 시간이 MTTR이다. MTTR은 시스템의 복구 능력 (Recoverability)을 나타내는 대표적 지표로, 값이 낮을수록 시스템이 빠르게 복구됨을 의미한다. MTTR은 평균 수리 시간으로 불리며, 平均復旧時間이라고도 한다.
-
필요성: 시스템의 MTTR을 알면 복구 능력을 객관적으로 평가할 수 있다. MTTR이 높으면 서비스 중단 시간이 길어져 고객 불만이 발생하고, 매출 손실과 평판 손실로 이어질 수 있다. 특히 클라우드, DevOps 환경에서는 빠른 복구가 핵심 역량으로 여겨지며, MTTR 줄이기가 중요한 목표로 설정된다.
-
💡 비유: MTTR은 "자동차 수리 시간"에 비유할 수 있다. 자동차가 고장 난 후 평균 2시간에 수리되면 MTTR = 2시간이고, 이는 자동차 서비스센터의 복구 능력을 나타낸다.
-
📢 섹션 요약 비유: MTTR은 "응급실 환자 치료 시간"에 비유할 수 있다. 환자가 도착してから治療完了까지平均적으로 30분이 걸리면 MTTR = 30분이고, 이는 응급실의 대응 능력을 나타낸다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
MTTR 계산 공식
┌─────────────────────────────────────────────────────────────────┐
│ MTTR (Mean Time To Repair) 계산 공식 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ [기본 공식] │
│ │
│ 총 복구 시간 │
│ MTTR = ───────────────────── │
│ 총 복구 횟수 │
│ │
│ [복구 시간 구성 요소] │
│ │
│ 복구 시간 = 고장 감지 시간 (Detection Time) │
│ + 고장 진단 시간 (Diagnosis Time) │
│ + 복구 조치 시간 (Repair Time) │
│ + 시스템 재가동 시간 (Recovery Time) │
│ + 검증 시간 (Verification Time) │
│ │
│ [예시] │
│ │
│ 시스템 가동 기간: 720시간 (30일) │
│ 고장/복구 기록: │
│ • 1차 고장: 100시간 (감지 1h + 진단 1h + 수리 2h + 재가동 1h + 검증 1h = 6h) │
│ • 2차 고장: 300시간 (감지 2h + 진단 1h + 수리 3h + 재가동 1h + 검증 1h = 8h) │
│ • 3차 고장: 500시간 (감지 1h + 진단 1h + 수리 2h + 재가동 1h + 검증 1h = 6h) │
│ │
│ 총 복구 시간 = 6 + 8 + 6 = 20시간 │
│ MTTR = 20 / 3 = 6.67시간 │
│ │
│ ※ 이 시스템은 평균 6.67시간에 복구됨을 의미 │
│ │
└─────────────────────────────────────────────────────────────────┘
MTTR의 하위 지표
┌─────────────────────────────────────────────────────────────────┐
│ MTTR 구성 요소 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 1. Detection Time (감지 시간) │ │
│ │ • 시스템이 고장을 감지하는 데 걸리는 시간 │ │
│ │ • 예: 모니터링 시스템이異常を検出する時間 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 2. Diagnosis Time (진단 시간) │ │
│ │ • 고장의 원인을 파악하는 데 걸리는 시간 │ │
│ │ • 예: 로그 분석, 시스템 분석 시간 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 3. Repair Time (수리 시간) │ │
│ │ • 실제 복구 조치를 수행하는 데 걸리는 시간 │ │
│ │ • 예: 코드 수정, 설정 변경, 부품 교체 시간 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 4. Recovery Time (재가동 시간) │ │
│ │ • 시스템을 재가동하는 데 걸리는 시간 │ │
│ │ • 예: 서비스 재시작, 데이터 복구 시간 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 5. Verification Time (검증 시간) │ │
│ │ • 복구가 완료되었는지 확인하는 데 걸리는 시간 │ │
│ │ • 예: 테스트, 모니터링 확인 시간 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
[다이어그램 해설] MTTR은 고장 감지부터 검증 완료까지의 다단계 시간으로 구성된다. Detection Time은 모니터링 시스템이異常を検出する時間이고, Diagnosis Time은 로그 분석 등을 통해 원인를 파악하는 시간이다. Repair Time은 실제 코드를 수정하거나 부품을 교체하는 시간이고, Recovery Time은 시스템을 재가동하는 시간이며, Verification Time은 복구 완료 여부를 확인하는 시간이다. MTTR을 줄이려면 이 모든 단계의 시간을 줄여야 하며, 각 단계별 최적화가 필요하다.
Ⅲ. 구현 및 실무 응용 (Implementation & Practice)
MTTR 향상 기법
| 기법 | 설명 | MTTR에 미치는 영향 |
|---|---|---|
| 자동화된 모니터링 | 장애 감지 자동화로 Detection Time 감소 | Detection ↓ |
| 중앙 집중 로깅 | 로그 분석 시간 단축으로 Diagnosis Time 감소 | Diagnosis ↓ |
| Runbook 자동화 | 복구 절차 문서화 및 스크립트화로 Repair Time 감소 | Repair ↓ |
| 자동화된 Failover | 자동 재가동으로 Recovery Time 감소 | Recovery ↓ |
| Checklist 기반 검증 | 검증 절차 표준화로 Verification Time 감소 | Verification ↓ |
MTTR vs 가용성 관계
| 구분 | 목표 | 가용성에 대한 영향 |
|---|---|---|
| MTTR 높음 | 복구 시간 길다 | 가용성 저하 |
| MTTR 낮음 | 복구 시간 짧다 | 가용성 향상 |
| MTTR = 0 | 즉각 복구 | 이론적 가용성 100% |
Ⅳ. 품질 관리 및 테스트 (Quality & Testing)
MTTR 관련 지표 비교
| 지표 | 의미 | 측정 대상 |
|---|---|---|
| MTTR | 평균 복구 시간 | 전체 복구 과정 |
| MTBF | 평균 무고장 시간 | 고장 간 시간 |
| MTTF | 평균 고장 시간 | 시스템 전체 수명 |
| MDT | 평균ダウンタイム | 평균 중단 시간 |
MTTR 벤치마크
| 산업/서비스 | 목표 MTTR |
|---|---|
| 금융/결제 | < 15분 |
| 전자상거래 | < 30분 |
| SaaS 서비스 | < 1시간 |
| 일반 웹 서비스 | < 4시간 |
- 📢 섹션 요약 비유: MTTR은 "응급실 환자 치료 시간"에 비유할 수 있다. 환자가 도착してから치료완료까지平均적으로 30분이 걸리면 MTTR = 30분이고, 이는 응급실의 대응 능력을 나타낸다.
Ⅴ. 최신 트렌드 및 결론 (Trends & Conclusion)
SRE와 MTTR
| 관련 개념 | 설명 |
|---|---|
| Error Budget | SLA를 달성한 남은 허용 가능한 오류 범위 |
| Toil | SRE에서 줄여야 할 단순 반복 작업 |
| SLO | 목표服务水平 (가용성 목표 등) |
MTTR 관리 Best Practices
- 자동화된 장애 감지: 수동 감지에서 자동 감지로 전환
- 중앙 집중 모니터링: ELK, Datadog 등으로 통합 관찰
- Runbook 문서화: 복구 절차를 문서화하고 자동화
- 사후 분석 (Postmortem): 장애 후 반드시 사후 분석 수행하여 근본 원인 해결
- 게임 데이 (Game Day): 의도적 장애 주입으로 복구 프로세스 훈련
- 📢 섹션 요약 비유: MTTR 관리는 "소방대 대응 시간"에 비유할 수 있다. 화재 신고から消火완료까지平均적으로 10분이 걸리면 MTTR = 10분이고, 이는 소방대의 대응 능력을 나타낸다.
핵심 인사이트 ASCII 다이어그램 (Concept Map)
┌─────────────────────────────────────────────────────────────────┐
│ MTTR (Mean Time To Repair) 핵심 정리 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 총 복구 시간 │
│ MTTR = ────────────── │
│ 총 복구 횟수 │
│ │
│ [복구 시간 구성] │
│ │
│ Detection → Diagnosis → Repair → Recovery → Verification │
│ (감지 시간) (진단 시간) (수리 시간) (재가동 시간) (검증 시간) │
│ │ │ │ │ │ │
│ └────────────┴────────────┴───────────┴────────────┘ │
│ │ │
│ ▼ │
│ MTTR = 모든 단계의 합 / 복구 횟수 │
│ │
└─────────────────────────────────────────────────────────────────┘
참고
- 모든 약어는 반드시 전체 명칭과 함께 표기:
API (Application Programming Interface) - 일어/중국어 절대 사용 금지 (한국어만 사용)
- 각 섹션 끝에 📢 요약 비유 반드시 추가
- ASCII 다이어그램의 세로선 │와 가로선 ─ 정렬 완벽하게
- 한 파일당 최소 800자 이상의 실질 내용