성능 분석 어떻게 하는건가요?
-> 사례를 기반으로 조금 더 구체화 해보겠습니다
사례1. 데이터베이스 서버 한대가 디스크 성능 저하 이슈가 발생
- 문제 발견 (데이터베이스팀)
. 1초 이상 걸리는 질의 로그
. 지난주에 시간당 12번 이상 발생
. 특정 스토리지가 사용 중임을 발견
- 문제 분석 (성능 분석팀)
1. USE 방법론 사용 (Utilization, Saturation, Error)
- 사용률: CPU, Network 사용률은 낮음, Disk사용률이 높음
- 포화도: Disk의 평균 I/O 지연시간 증가 -> 디스크 부하 문제 확인
- 오류: Disk 오류는 없음
2. Disk I/O 지연 원인 분석
- 디스크 파편화?
-> 파일 시스템의 사용량은 30%
- 드릴다운 분석 방법은 시간이 많이 소요
- 파일 시스템 캐시?
-> 적중률: 다른 시스템 97%, 문제 시스템 91%
3. 파일 시스템 캐시 크기 확인
- 캐시 크기 감소
- 개발 중인 애플리케이션이 많은 메모리를 차지가 그 원인
사례2. 연산 작업이 많은 새로운 기능 추가한 시스템의 성능 분석
- 부하 테스트 진행 -> 새로운 기능이나 버전을 출시하기전에 진행해야 함
. 부하를 늘려가면서 특정 기간 동안 테스트
-> 요청을 초당 100개씩 늘려가면서 1분씩 테스트 진행
- 부하를 만들어낼 시뮬레이터
. 자체 로드 테스트 도구를 재 활용
-> 700 요청/s 제약이 존재
- 700 요청/s 에 대한 기존/신규 앱의 CPU 사용량 분석
. 서버 CPU 사용률 기존: 20% -> 신규: 30%
- 700 요청/s 제한 원인?
. 시뮬레이터 CPU 사용률 기존: 100% -> 신규: 100%
. 싱글 쓰레드로 제작된 것이 원인
- 성능 분석 결과
. 신규 버전의 자원 사용량 확인 및 해당 자원 사용에 맞게 서버 자원 구성
. 시뮬레이터 개선 등록
'리눅스 > Part4. Ch01. 시스템 성능 분석의 이해' 카테고리의 다른 글
03. 성능분석 방법론 (0) | 2022.12.19 |
---|---|
01. 개념 소개 (0) | 2022.12.19 |