어떤 조직의 SLO가 다음과 같습니다.
"GET 호출의 99%는 10ms 이내에 수행되어야 한다"
그렇다면, 이러한 SLO를 달성하려면 어떤 메트릭을 수집하고 어떻게 계산해야 할까요? (척도는 표준화된 범용 지표를 사용합니다)
해당 SLO를 달성하기 위해 수집하고 계산해야 하는 메트릭은 다음과 같습니다.
GET 호출의 응답 시간
: GET 호출의 시작부터 응답을 받을 때까지 걸리는 시간을 측정해야 합니다.
이는 대개 시스템의 로그나 추적 기능을 사용하여 측정할 수 있습니다.
이 메트릭은 초 단위로 측정되며, 초 단위로 표준화된 지표를 사용해야 합니다.
99 백분위 수(P99)
: GET 호출의 응답 시간 메트릭에서 99 백분위 수를 계산해야 합니다.
이는 전체 응답 시간 중 상위 1%의 값을 의미하며, 즉 99%의 GET 호출이 해당 값보다 작은 시간에 수행되어야 한다는 것을 의미합니다.
P99은 분 단위로 측정되며, 분 단위로 표준화된 지표를 사용해야 합니다.
이러한 메트릭을 수집하고 계산하여 SLO를 평가하는 방법은 다음과 같습니다.
GET 호출의 응답 시간 메트릭을 수집합니다.
수집한 데이터를 P99로 정렬합니다.
P99 값을 기준으로 SLO를 평가합니다.
만약 P99가 10ms 이하이면 SLO를 달성한 것으로 간주합니다.
그렇지 않으면 SLO를 위반한 것으로 간주합니다.
이와 같은 방식으로 SLO를 평가할 경우, 99%의 GET 호출이 10ms 이내에 수행되어야 한다는 SLO를 충족하기 위해서는, GET 호출의 99 백분위 수(P99)가 10ms 이하로 유지되어야 합니다.