서비스 오류율은 APM 서비스에서 서버 측 오류(5xx HTTP 응답)가 발생하는 비율을 측정합니다. 오류로 인해 사용자가 구매, 가입 또는 데이터 액세스와 같은 중요한 작업을 완료하지 못할 수 있습니다. 이 점수표 규칙은 고객 경험에 직접적인 영향을 미치는 백앤드 문제를 식별하고 해결 우선순위를 정하는 데 도움이 됩니다.
이 점수카드 규칙에 관하여
이 서비스 오류율 규칙은 디지털 경험 성숙도 모델 의 레벨 1(반응형)의 일부입니다. 사용자 환경과 비즈니스 운영에 영향을 줄 수 있는 백앤드 서비스에 해결되지 않은 서버 오류가 있는지 평가합니다.
이것이 중요한 이유: 서버 오류(5xx 응답)는 백앤드가 사용자 requests 충족할 수 없다는 것을 나타내며, 이로 인해 거래 실패, 사용자 흐름 중단, 사업 기회 손실이 발생합니다. 서버 오류가 발생한 사용자는 종종 작업을 포기하고 돌아오지 않을 수 있습니다.
이 규칙의 작동 방식
이 규칙은 응답에서 5xx HTTP 상태 코드 오류를 보고하는 APM 서비스의 비율을 평가합니다. 이는 서버 측 오류로 인해 사용자가 의도한 작업을 성공적으로 완료하지 못하는 백앤드 서비스를 식별합니다.
점수 이해하기
- 통과(녹색): APM 서비스 중 서버 측 오류가 발생하는 비율이 낮습니다.
- 실패(빨간색): APM 서비스의 상당수에 해결되지 않은 5xx 오류가 있습니다.
- 개구리, 목표: 모든 서비스, 특히 중요한 사용자 여정을 지원하는 서비스 전반에서 서버 오류를 최소화합니다.
이는 무엇을 의미합니까?
- 합격 점수: 귀하의 백앤드 서비스는 사용자 requests 안정적으로 이행하고 성공적인 작업 완료를 지원합니다.
- 실패 점수: 사용자는 requests 실패, 손상된 에스텔라우 또는 중요한 작업을 완료할 수 없는 상황에 직면할 수 있습니다.
5xx 서버 오류 이해
서버 오류는 백앤드 외관 또는 특수 코드에 문제가 있음을 나타냅니다.
일반적인 5xx 오류 유형
- 500 내부 서버 오류: 일반적인 서버 오류로, 대개 애플리케이션 버그나 처리되지 않은 예외로 인해 발생합니다.
- 502 잘못된 게이트웨이: 업스트림 서버가 잘못된 응답을 반환했습니다. 이는 로드 밸런서 또는 프록시에서 흔히 발생하는 문제입니다.
- 503 서비스를 사용할 수 없음: 서버가 일시적으로 과부하 상태이거나 유지 관리 중입니다.
- 504 게이트웨이 시간 초과: 업스트림 서버와 통신할 때 요청 시간이 초과되었습니다.
사용자 경험에 미치는 영향
- 거래 실패: 사용자가 구매, 가입 또는 데이터 제출을 완료할 수 없습니다.
- 깨진 흐름: 다단계 프로세스가 도중에 실패하여 답답함 사용자
- 데이터 손실: 오류 발생 시 양식 제출이나 사용자 입력이 손실될 수 있습니다.
- 신뢰 저하: 반복되는 오류로 인해 애플리케이션에 대한 사용자의 신뢰가 저하됩니다.
서비스 오류율을 줄이는 방법
서비스 점수가 높은 경우, 다음 단계에 따라 백앤드 문제를 식별하고 해결하세요.
1. 영향을 받는 서비스를 식별하고 우선순위를 지정합니다.
- APM 서비스 개요 검토: 5xx 오류를 보고하는 서비스를 조사합니다.
- 비즈니스 영향 평가: 중요한 사용자 여정(결제, 인증, 핵심 기능)을 지원하는 서비스의 우선 순위 지정
- 오류 패턴 분석: 오류 타이밍, 빈도 또는 영향을 받는 엔드포인트의 추세를 찾습니다.
- 사용자 영향 확인: 각 서비스 오류로 인해 영향을 받는 사용자 수를 확인합니다.
2. 근본 원인을 조사하세요
애플리케이션 수준 문제:
- 처리되지 않은 예외: 적절하게 포착 및 처리되지 않은 코드 오류
- 데이터베이스 연결 실패: 연결 풀 소진 또는 데이터베이스를 사용할 수 없음
- 리소스 고갈: 메모리 누수, CPU 과부하 또는 디스크 공간 문제
- 구성 오류: 잘못된 설정으로 인해 애플리케이션 오류가 발생합니다.
인프라 수준의 문제:
- 서버 용량 문제: 트래픽이 가장 많은 시간대에 리소스가 부족합니다.
- 네트워크 연결 문제: 서비스 간 통신 실패
- 로드 밸런서 설정: 잘못된 라우팅 또는 상태 검사 실패
- 의존성/종속성 실패: 귀하의 서비스에 영향을 미치는 제3자 서비스 중단
3. 목표 구현, 목표 수정
즉각적인 해결:
- 중요 버그 수정: 500 오류를 유발하는 애플리케이션 코드 문제 해결
- 리소스 확장: 503 오류가 발생하는 과부하된 서비스에 대한 용량 추가
- 재시도 구성: 일시적 실패에 대한 재시도 논리 구현
- 상태 점검 업데이트: 로드 밸런서가 트래픽을 적절하게 라우팅하는지 확인
체계적인 개선:
- 오류 처리: 포괄적인 try-catch 블록과 우아한 오류 응답 추가
- 회로 차단기: 의존성/종속성 실패를 우아하게 처리하기 위한 패턴을 구현합니다.
- 모니터링 향상: 더 빠른 진단을 위해 자세한 로깅 및 메트릭 추가
- 용량 계획: 예상 부하를 처리할 수 있는 적절한 크기의 인프라
4. 오류 추적 및 해결 방법 수립
뉴렐릭 스 인박스(errors inbox)를 사용하세요:
- 중앙화된 오류 추적: 한 곳에서 모든 서비스에서 발생한 5xx 오류를 모두 확인하세요.
- 오류 그룹화: 유사한 오류를 자동으로 그룹화하여 패턴을 식별합니다.
- 오류 귀속: 오류를 특정 구현, 배포 또는 변경 사항에 연결합니다.
- 해결 추적: 오류를 해결됨으로 표시하고 수정 진행 상황을 추적합니다.
결함 추적을 구현합니다.
- 지원 피치 만들기: 문제 추적 시스템에서 오류 기록(JIRA, GitHub 문제)
- 소유권 지정: 각 오류에 대해 책임 있는 팀이나 개인이 있는지 확인하십시오.
- 트랙 해결: 구현, 배포를 통해 오류 수정 진행 상황 모니터링
- 효과 측정: 수정이 실제로 오류율을 줄이는지 확인
개선 측정
서비스 오류 감소 노력을 검증하려면 다음 지표를 추적하세요.
- 오류율 감소: 5xx 오류가 발생하는 서비스의 비율 감소
- 사용자 영향 지표: 프로세서 완료율 향상, 사용자 불만 감소
- 오류 해결 시간: 서버 측 문제를 더 빠르게 식별하고 수정합니다.
- 서비스 안정성: 가동 시간 증가 및 요청 성공률 증가
일반적인 서비스 오류 시나리오
데이터베이스 연결 문제:
- 문제: 연결 풀 고갈 또는 데이터베이스 시간 초과로 인해 500 오류가 발생합니다.
- 솔루션: 연결 풀링 최적화, 연결 재시도 논리 구현, 데이터베이스 성능 모니터링
제3자 의존성/종속성 실패:
- 문제: 외부 API 또는 서비스가 실패하여 애플리케이션에서 502/503 오류가 반환됩니다.
- 솔루션: 회로 차단기, 폴백 메커니즘 및 적절한 시간 초과 처리 구현
구현, 배포 관련 오류:
- 문제: 5xx 오류를 유발하는 버그가 도입된 새 릴리스
- 솔루션: 테스트 절차 개선, 카나리아 구현, 배포, 롤백 기능 추가
용량 및 확장 문제:
- 문제: Traffic 급증으로 인해 서버가 과부하되어 503 오류가 발생합니다.
- 솔루션: 자동 확장, 부하 테스트 및 용량 계획 구현
고급 오류 관리 전략
오류 예방 관행
- 종합 테스트: 생산 전에 문제를 포착하기 위한 단위 테스트, 통합 테스트 및 부하 테스트
- 코드 검토: 오류 처리 패턴과 에지 케이스 적용 범위에 집중
- 스테이징 환경: 프로덕션과 유사한 환경에서 철저히 테스트하세요
- 점진적 출시: 오류 영향을 최소화하기 위해 기능 플래그 및 카나리아 구현을 사용하고 배포합니다.
자동화된 오류 대응
- 자동 크기 조정: 오류율이 과부하를 나타낼 때 자동으로 용량을 추가합니다.
- 회로 차단기: 계단식 실패를 방지하기 위해 실패한 의존성/종속성을 자동으로 격리합니다.
- 상태 점검: 로드 밸런서 로테이션에서 비정상 인스턴스를 자동으로 제거합니다.
- 공지 통합율: 기존 공지를 초과하면 즉시 공지됩니다.
변경 추적 통합
- 구현, 배포 상관관계: 오류 급증을 특정 구현, 배포 또는 설정 변경 사항에 연결합니다.
- 롤백 절차: 변경 사항으로 인해 오류가 발생할 경우 빠른 복귀 기능
- 변경 영향 분석: 코드 변경이 시간 경과에 따라 오류율에 어떤 영향을 미치는지 측정합니다.
- 릴리스 품질 지표: 릴리스의 핵심 품질 지표로 오류율 추적
오류 조건 검증
오류 추적이 사용자에게 영향을 미치는 실제 문제에 집중되도록 하세요.
오탐 필터링
- 헬스 체크 포인트: 오류 계산에서 모니터링 시스템 requests 제외
- 내부 서비스 콜: 내부 시스템 커뮤니케이션보다는 사용자 관련 오류에 집중
- 예측된 오류: 일부 5xx 응답은 의도적일 수 있습니다(유지 관리 모드, 속도 제한)
- 봇 트래픽: 실제 사용자 영향을 나타내지 않는 자동화 시스템의 오류를 필터링합니다.
사용자에게 영향을 미치는 오류에 집중하세요
- 고객 중심 서비스: 최종 사용자에게 직접 서비스를 제공하는 서비스의 오류를 우선시합니다.
- 중요한 비즈니스 흐름: 수익 창출 활동에 영향을 미치는 오류에 집중
- 트래픽이 많은 엔드포인트: 많이 사용되는 API 엔드포인트 또는 페이지의 오류 해결
- 전환 퍼널: 사용자 등록, 구매 또는 주요 작업에 영향을 미치는 오류를 우선 순위로 지정합니다.
중요한 고려 사항
- 비즈니스 영향 우선 순위: 수익에 중요한 서비스에 영향을 미치는 오류에 먼저 집중
- 사용자 여정 맥락: 사용자 흐름에서 오류가 발생하는 위치와 작업 완료에 미치는 영향을 고려하세요.
- 오류 빈도 대 심각도: 빈번한 사소한 오류 수정과 드물지만 심각한 오류 수정의 균형을 맞추세요.
- 리소스 할당: 오류 해결 노력이 사용 가능한 개발 용량과 일치하도록 보장합니다.
다음 단계
- 즉각적인 조치: 사용자에게 영향을 미치는 가장 큰 영향을 미치는 5xx 오류를 식별하고 해결합니다.
- 프로세스 개선: 오류 분류 및 결함 추적 절차 수립
- 예방 초점: 새로운 오류를 줄이기 위해 더 나은 테스트 및 구현, 배포 관행을 구현합니다.
- 모니터링 개선: 변경 추적을 사용하여 오류를 구현, 배포와 연관시킵니다.
- 2단계로 진행: 서비스 오류가 제어되면 Core Web Vitals 최적화에 집중합니다.
서비스 오류 감시 및 해결에 대한 자세한 지침은 APM 오류 추적 설명서 및 오류 인박스(errors inbox) 가이드를 참조하세요.