통계 베스트 프랙티스
이 가이드는 통계 데이터를 분석하고 실용적인 결정을 내리는 방법을 설명합니다. 진입 허용을 설정하는 방법과 용량을 계획하는 방법과 같은 실용적인 주제를 다룹니다.
정기 모니터링 체크리스트
주간 검토:
- 완료율(%) 확인 (80% 이상이어야 함)
- 피크 시간 동안 대기자 및 대기 시간 확인
- 정상 시간과 피크 시간 간 처리 시간 비교
월간 검토:
- 지난 달의 피크 진입 요청 패턴 검토
- 진입 허용 활용률 분석 (대기자/대기 시간이 증가한 기간 식별)
- 통합 상태 확인 (지속적으로 낮은 완료율(%)을 가진 세그먼트 식별)
진입 허용 변경 계획 시:
- 3-6개월의 과거 데이터 분석 (월 보기 사용)
- 피크 기간 식별 및 서버 리소스 확인 (APM 기록 참조)
- 변경 후 1-2주 모니터링 (일 보기 사용)
최적의 진입 허용 결정
1단계: 정상 및 피크 기간 이해
확인할 사항:
- 진입 요청 확인: 정상 시간과 피크 시간 동안 들어오는 초기 요청(진입 요청)의 속도 확인
- 대기자 조건 확인: 해당 시간에 몇 명의 사용자가 대기 중인지(대기자) 및 평균 대기 시간 확인
예시 패턴:
시간 진입 요청 (TPS) 대기자 대기 시간 진입 허용 해석
09:00 80 20 3초 100 정상 시간
10:00 120 50 8초 100 피크 시작
11:00 150 200 20초 100 피크 (대기 발생)
12:00 130 180 18초 100 피크 지속
2단계: 피크 중 진입 허용 적절성 평가
평가 기준:
- 서버 리소스 확인: APM 기록을 참조하여 피크 시간 동안 WAS 서버 CPU 및 기타 컴퓨팅 리소스 사용률 확인
- 결정:
- 서버에 사용 가능한 진입 허용이 있지만 대기 시간이 긴 경우 → 진입 허용 증가 고려
- 서버가 과부하 상태이고 대기 시간이 긴 경우 → 진입 허용 유지 또는 감소
- 서버에 사용 가능한 진입 허용이 있고 대기 시간이 낮은 경우 → 현재 설정 유지
확인할 사항:
- 피크 시간 동안 대기자 및 대기 시간
- 피크 시간 동안 서버 CPU 사용률 (APM 기록 참조)
- 서버에 사용 가능한 진입 허용이 있는지 또는 과부하 상태인지 여부
예시 평가:
피크 시간 상황:
- 진입 요청: 150 TPS
- 대기자: 200명
- 대기 시간: 20초
- 서버 CPU 사용률: 50% (APM 기록)
결정: 서버에 사용 가능한 진입 허용이 있지만 대기 시간이 긴 경우 → 진입 허용 증가 고려
3단계: 처리 시간을 통한 성능 저하 확인
중요한 원칙:
- 이상적인 상황: 기본 세그먼트의 경우 정상 시간 처리 시간(처리 시간)과 피크 시간 처리 시간이 거의 동일해야 합니다.
패턴 분석:
-
정상 시간과 피크 시간 처리 시간이 유사한가?
- 유사함 → 정상, 대기자/대기 시간 및 서버 리소스를 기반으로 진입 허용 조정
-
피크 시간에만 처리 시간이 증가했는가?
- 증가함 → 서버가 느리게 응답하고 있을 수 있음
- 서버 리소스가 여전히 사용 가능한 경우 (APM 기록 확인), 대기자가 증가하더라도 진입 허용 증가 고려
- 서버가 과부하 상태인 경우, 진입 허용을 증가시키지 말고 먼저 성능 문제를 조사하고 수정
예시 패턴:
시간 처리 시간 대기자 해석
09:00 2.5초 20 정상 시간 (정상)
10:00 2.6초 50 피크 시작 (정상)
11:00 4.5초 200 피크 - 처리 시간 증가 (서버 응답 지연)
12:00 4.2초 180 피크 지속 - 처리 시간 증가
결정: 피크 시간에만 처리 시간이 증가함 → 서버 응답 지연 가능성
→ 서버 리소스가 사용 가능한 경우 (APM 확인), 대기자가 증가하더라도 진입 허용 증가 고려
조치:
- 피크 시간의 처리 시간이 정상 시간에 비해 크게 증가한 경우 서버 성능 문제를 나타낼 수 있음
- 먼저 서버 리소스를 확인하세요 (APM 기록을 통한 CPU, 메모리):
- 서버에 사용 가능한 진입 허용이 있는 경우: 더 많은 동시 요청을 허용하기 위해 진입 허용 증가 고려, 지연이 서버 과부하가 아닌 대기자로 인한 것일 수 있으므로 도움이 될 수 있음
- 서버가 과부하 상태인 경우: 진입 허용을 증가시키지 말고 먼저 성능 병목을 조사하고 해결
- 동시에 서버 로그 또는 APM을 통해 서버 응답 지연 원인 조사
통합 문제 감지
패턴: 진입 요청 vs 완료량 분기
의미:
- 진입 요청이 완료량보다 지속적으로 높음 = 사용자가 진입하지만 서비스를 제대로 완료하지 않음
- 낮은 완료율(%) (<80%) =
nfStop()호출 누락 또는 통합 문제
예시 패턴:
시간 진입 요청 (TPS) 완료량 (TPS) 완료율(%) 해석
09:00 100 95 95% 건강함
10:00 100 80 80% 건강함
11:00 100 60 60% 문제 - 종료 호출 누락
12:00 100 55 55% 문제 - 코드 검토 필요
조치:
- 즉시: 낮은 완료율(%)을 가진 세그먼트 확인 (세그먼트 보기 사용)
- 임시 조치: 키가 반환되지 않는 경우 키 반환 타임아웃을 조정하여 자동 키 반환 강제
- 근본 원인 조사: 최근 코드 변경 사항 검토, 누락된
nfStop()호출 찾기 - 근본 원인 수정: 모든 코드 경로에 명시적 종료 추가, 오류 처리에 키 반환이 포함되도록 보장
진입 허용 변경 시 중요 고려사항
변경 후 모니터링
진입 허용을 변경한 후 항상 모니터링하세요:
- 변경 직후: 일 보기를 사용하여 1-2주 동안 모니터링
- 확인할 사항:
- 대기자/대기 시간이 개선되었는지 여부
- 예상 효과가 나타났는지 여부
- 조정: 실제 결과를 기반으로 추가 조정 수행
점진적 변경 원칙
- 증가: 한 번에 10-20% 증가, 모니터링, 그 다음 반복
- 감소: 서버 보호가 긴급한 경우 즉시 40-50% 감소; 그렇지 않으면 점진적으로 감소