학습 목표
서비스 수준 목표
- 서비스 수준 척도(SLI), 서비스 수준 목표(SLO), 서비스 수준 협약(SLA)의 의미를 이해할 수 있다.
- 메트릭을 이용한 주요 SLO를 이해하고, 어떻게 목표를 세우는지 알 수 있다.
- SLI (Service Level Indicator, 서비스 수준 척도)
- 서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정한 값
- 응답 속도: 요청에 대한 응답이 리턴되기까지의 시간
- 에러율: 전체 요청 수 대비
- 처리량(throughput): 초당 처리할 수 있는 요청 수
- 가용성: 서비스가 사용 가능한 상태로 존재하는 시간의 비율
- 내구성: 데이터 저장이 중요한 목적인 서비스으 ㅣ경우 특히 중요
- SLO(Service Level Objectives, 서비스 수준 목표)
- SLI에 의해 측정된 서비스 수준의 목표값 또는 일정 범위의 값\
- SLI ≤ 목표치
- 최소값 ≤ SLI ≤ 최대값
- SLA(Service Level Agrements, 서비스 수준 협약)
- SLO를 달성하지 못하면 어떻게 되는지를 적어놓은 약속
- SRE가 직접 관여하지는 않음
- 지표 설정
- 사용자가 직접 대면하는 시스템
- 보통 프론트엔드에 해당함
- 가용성, 응답 시간, 처리량
- 저장소 시스템
- 응답 시간, 가용성, 내구성
- 빅데이터 시스템
- 데이터 파이프라인 등
- 처리량, 엔드포인트 간 응답 시간
- 사용자가 직접 대면하는 시스템
- 척도 수집
- 대부분의 경우 분포가 중요함
- 일부 요청이 빠르게 처리되어도 나머지 요청이 균일하게 느리다면, 서비스는 느린 것으로 간주할 수 있음
- 평균을 내는 방법은 이러한 흐름의 변화를 감지하기 어려움
- 척도의 표준화
- SLO를 설정할 때, 주요 SLI의 정의를 표준화시키면 편리함
- 예시
- 집계 간격: 1분
- 집계 범위: 하나의 클러스터에서 수행되는 모든 태스크
- 측정 빈도: 매 10분
- 집계에 포함할 요청: 전체 HTTP GET 요청
- 목표 설정
- 성능에 중점을 둔 SLO 예시
- GET 호출의 90%는 1ms 이내에 수행되어야 함
- GET 호출의 99%는 10ms 이내에 수행되어야 함
- GET 호출의 99.9%는 100ms 이내에 수행되어야 함
- 성능에 중점을 둔 SLO 예시
'Code States > TIL' 카테고리의 다른 글
[0607] 성능 테스트 - 부하 테스트 기본 (0) | 2023.06.08 |
---|---|
[0607] 성능 테스트 - 가용성과 확장성 (0) | 2023.06.07 |
[0602] 서비스 모니터링 - Prometheus 모니터링 시스템 (0) | 2023.06.02 |
[0601] 서비스 모니터링 - Auto Scailing + CloudWatch를 이용한 알림 (0) | 2023.06.01 |
[0531] 서비스 모니터링 - 모니터링의 목표와 측정 항목 (0) | 2023.05.31 |