SlideShare a Scribd company logo
웹 ∙ 앱 부하 테스트
성능 진단 및 컨설팅 안
본 문서는 어니컴(주)이 발행하는 문서이며 저작권법에 의해 보호를 받는 저작물입니다.
원문 출처를 표기하는 조건 하에 원문 그대로 공유 가능하며, 수정 및 영리 사용은 금지됩니다.
Copyright © 2021 by ONYCOM. Inc. All Rights Reserved.
Content
01
앱 성능 진단
02
웹 서버 성능 진단
03
부하 테스트
3
모바일 서비스 진단 개요
직접 개발한 자사 솔루션을 통해, Front End와 Back End로 구분하여
각 영역별로 최적화된 성능 진단 방법과 솔루션을 사용하여 진단 및 분석을 수행
앱 진단 (Front-end) 웹 진단 (Back-end)
솔루션 모바일 애플리케이션 진단 (with IMQA)
단말~서버(네트워크) Performance Test
(with J-Meter)
진단 목적
✓ 앱의 잠재 리스크 파악
✓ 앱 성능 개선을 위한 문제 파악
✓ 모바일 서비스 성능 개선 방향 도출
✓ 앱 ~ 서버 간, 성능 저하 요인 발견
✓ 현재 서비스 아키텍처 한계 파악 (임계치)
✓ 최대 부하, 최대 트랜잭션 처리 용량 검증
진행 순서
1. 환경 분석
2. 진단 준비
3. 성능 진단
4. 성능 분석
5. 결과 도출
1. 환경 분석
2. 테스트 시나리오 협의
3. 스크립트 개발
4. Warm-up test
5. 실 환경 테스트
IMQA _ 성능 진단 및 컨설팅
앱 성능 진단
5
앱 (Front-end) 진단 절차
앱 진단은 환경 분석 후, 이에 맞는 진단 준비 하에 성능 진단 및 분석을 진행합니다.
성능 진단 결과를 통해 각 항목별 문제점에 대한 해결 방안을 제시합니다.
IMQA _ 성능 진단 및 컨설팅
환경
분석
진단
준비
성능
진단
분석
결과
도출
• 앱 개발 환경
- Android
- iOS
• 서비스 시나리오
• 테스트 시나리오
• 고객 요구사항
• 앱 환경
- 진단 솔루션: IMQA
- 대상: 해당 앱
• 성능 데이터 수집 환경
- 수집 서버: IMQA
- 수집 주기: 10초
- VM 환경: 32Core
CPU, 64GB Mem,
300GB SDD
• 데이터 추출 방식/대상
- 실제 앱 배포
- 덤프 생성 주기: 1분
• 진단 횟수
- 3회
• 진단 도구
- IMQA 성능 진단 툴
활용
• 진단 대상 협의
- 1안: 내부 직원만 배포
- 2안: 30%만 수집
- 3안: 100%
실 유저 수집
• 분석 방법
- 항목별 성능 상세 분석
• 분석 항목
- 화면 로딩 시간
- 네트워크 응답 시간
- 자원 사용량
(CPU, MEM)
- 배터리 사용량
- 디바이스 분포
- Native App Profiling
- Hybrid App
• 성능 분석 리포트
- 성능 지표 내용
- 문제 원인 및
해결 방안
• Lessons & Learn
- 장애 및 성능 문제
요소
• To-Be 모델
- 개발 관점
- 운영 관점
- 서비스 관점
진단 환경 구성 진단 결과 정리
6
앱 (Front-end) 진단 상세 내용
모바일 앱 진단의 핵심 활동인 성능 분석은 총 7가지의 방법으로 구분되어 단계별로 진행됩니다.
IMQA _ 성능 진단 및 컨설팅
3. 자원 사용량
사용자 모바일 기기별 화면 로딩 시간
• 화면 로딩이 늦는 시간 (5초 이상 소요 기준)
• 화면 로딩 시간 비교 분석
• 병목 구간 유∙무 및 원인 분석
1. 화면 로딩 시간
2. 네트워크 응답시간
4. 배터리 사용량
• CPU 사용량 전체 중 상위 95%,
하위 5% 분류
• 메모리 사용량 전체 중 상위 95%,
하위 5% 분류
• 배터리 사용량 비교 분석
서버와의 Data 통신 시 요청에 따른 응답시간
• 하위 5% 이하에 해당되는 메소드 분석
• 하루 중 응답시간이 가장 낮은 시간대
• 응답시간 통계 (느린 구간 기준)
* 자원 사용량: CPU (운영체제 및 메모리)
7
앱 (Front-end) 진단 상세 내용
모바일 앱 진단의 핵심 활동인 성능 분석은 총 7가지의 방법으로 구분되어 단계별로 진행됩니다.
IMQA _ 성능 진단 및 컨설팅
7. Hybrid App Profiling
사용자 별 모바일 기기의 종류 구분
• 앱 사용자 디바이스 분류
5. 디바이스 분포
6. Native App Profiling
Hybrid 사용 시 각 통신사 별 응답
시간
• Hybrid 화면 로딩 시 병목 구간
분석
Native 화면 로딩 시간 및 스택 Profiling
• Native 화면 로딩 시 병목 구간 분석
8
1. 화면 로딩 시간 _ 병목 구간 측정 Case #1
화면 로딩 시간 진단을 통해 사용 시 병목 구간의 발생 여부를 확인하고 이에 대한 원인을 분석합니다.
IMQA _ 성능 진단 및 컨설팅
병목 구간 발생
✓ Main Activity에서 일부 병목 구간 발생 → 메인 화면에서 Call하여 그리는 UI 객체가 많음
➡ 3.0 메인 상대 좌표를 통한 레이아웃 구성 변경 필요
* 결과 리포트 예시
9
1. 화면 로딩 시간 _ 병목 구간 측정 Case #2
화면 로딩 시간 진단을 통해 사용 시 병목 구간의 발생 여부를 확인하고 이에 대한 원인을 분석합니다.
IMQA _ 성능 진단 및 컨설팅
✓ LoginActivity가 4초 이상 소요됨에 따라 로그인 응답시간이 1.5초 이상 소요
➡ 로그인 관련 API의 최적화 필요 (로그인 인증에 특화된 서버 캐시 도입 필요)
ㅁ
병목구간 발생
* 결과 리포트 예시
10
2. 네트워크 응답 시간 _ Case #1
네트워크 응답 시간을 진단하고, 문제점을 파악하여 개선 방향을 제시합니다.
IMQA _ 성능 진단 및 컨설팅
✓ 느린 (SLOW) 구간의 Path가 특정하지 않고 산재되어 있음
➡ 서버 연결 통신망을 기준으로 느린 구간에 대한 원인 파악 필요
(서버 문제 vs. 통신사 문제)
* 결과 리포트 예시
ㅁ
◀ 응답시간 통계 화면
Wi-Fi 환경에서는 99.9 %가
1초 이내에 응답하는 우수한
상황
11
2. 네트워크 응답 시간 _ Case #2
IMQA _ 성능 진단 및 컨설팅
✓ 하루 중 응답 시간이 가장 낮은 시간대 분석
➡ 네트워크 응답 시간이 가장 늦은 시간대는 15:00~15:30 (일간 추이)
* 결과 리포트 예시
ㅁ
시간대별 네트워크 응답시간과 앱 성능을 분석합니다.
ㅁ
12
2. 네트워크 응답 시간 _ Case #3
모바일 앱에서 호출되는 기능 중에 네트워크 응답시간이 많이 걸리는 하위 메소드를 파악합니다.
IMQA _ 성능 진단 및 컨설팅
✓ 하위 5% 응답 시간에 해당되는 기능 분석
➡ SKT, KT, LGT 등 외부망 이용 시, 통신 환경에 따른 Delay가 발생할 수 있음
* 결과 리포트 예시
ㅁ
13
3. 자원 사용량 _ Case #1
하이브리드 앱의 웹 화면 로딩 속도 프로파일링이 가능합니다. (서버 시간, 앱 내부 로딩 시간 별도 분석 가능)
IMQA _ 성능 진단 및 컨설팅
* 결과 리포트 예시
ㅁ
14
3. 자원 사용량 _ Case #2
모바일 앱의 단말기에서 CPU와 메모리 자원 사용량에 대한 성능을 분석합니다.
(사용량 전체 중 상위 95%, 하위 5% 분류)
IMQA _ 성능 진단 및 컨설팅
CPU 권고 사용량 50% 이하에서
평균 사용량 13%, 하위 5% → 22% 사용
* 결과 리포트 예시
자원 사용량: CPU 자원 사용량: 메모리
메모리 권고 사용량 100MB 이하에서
평균 20MB, 하위 5% → 28MB 사용
15
4. 배터리 사용량
사용자 모바일 기기의 배터리 사용량에 대한 성능을 분석합니다.
IMQA _ 성능 진단 및 컨설팅
* 결과 리포트 예시
ㅁ
-0.25
-0.2
-0.15
-0.1
-0.05
0
예시 앱 A. 채팅 B. 뮤직
배터리 사용량 비교 분석 vs. A & B
배터리 사용량이 비교 대상 A와 B 대비 낮은 편
• 3000mAh 기준으로 평가
• 비교 대상 A: ‘채팅 프로그램'에서 주기적으로 메시지를 전송, 간헐적 동영상 보기로 테스트
• 비교 대상 B: ‘뮤직 플레이어’를 화면에 켜놓은 상태로 몇 시간 동안 테스트
16
5. 통신사 분석
서비스 사용자의 주 통신사를 분석합니다.
IMQA _ 성능 진단 및 컨설팅
✓ SK Telecom의 응답시간이 타 통신사에 비해 느림
➡ 국내 인구 비율상 SK Telecom 사용자가 많으므로,
상대적으로 더 많은 기지국 확충이 필요해 보임
* 결과 리포트 예시
ㅁ
국내 3대 통신사 별 통신 응답 시간
웹 서버 성능 진단
18
웹 (Back-end) 진단 절차
앱 진단은 환경 분석 후, 이에 맞는 진단 준비 하에 전체 및 단위별 성능을 진단합니다.
성능 진단 결과 분석을 통해 각 항목별 문제점에 대한 해결 방안을 제시합니다.
IMQA _ 성능 진단 및 컨설팅
환경
분석
진단
준비
환경
검증
성능
분석
결과
도출
• 서버 로그 분석
• 부하 테스트 시나리오
• 고객 요구사항
• 부하 테스트 대상 환경
- 대상: 해당 앱
• 부하 테스트 환경
- Google Cloud 10대
- Jmeter 5.1
- Open JDK 1.8
• 데이터 스크립트 작성
- Jmeter를 이용하여
작성 (.jmx 파일)
• 진단 횟수
- 3회
• 진단 방법
- 개발 환경에 테스트
시나리오 검증
• 분석 방법
- Jmeter를 통한 전체
시나리오 테스트
• 분석 항목
- 요청 및 응답 값 확인
- 정상 서버 처리 확인
- 비정상 API 확인
• 성능 분석 리포트
- 성능 분석 내용
- 문제 원인 및
해결 방안
• Lessons & Learn
- 장애 및 성능 문제
요소
• To-Be 모델
- 개발 관점
- 운영 관점
진단 환경 구성 진단 결과 정리
• 진단 횟수
- 5회
• 진단 방법
- 개별 시나리오 부하
테스트 및 분석 리포트
제공
• 분석 방법
- Jmeter를 통한
Warm-up 방식
• 분석 항목
- 응답시간 및 TPS
- 에러율 및 임계값
- 비정상 API
19
웹 (Back-end) 진단 방안
스크립트 작성 후, 진단 환경을 구성합니다.
IMQA _ 성능 진단 및 컨설팅
진단 결과 정리
진단 환경 구성
JMeter와 Google Cloud 부하 테스트 환경
JMeter
전체 API 테스트
비정상 API 테스트
테스트 케이스 A
테스트 케이스 B
테스트 케이스 C
단위 테스트
시나리오 테스트
Google Cloud
Instance
해당 앱 서버
APM
부하 테스트 진행
21
부하 테스트 주요 논의 사항
IMQA _ 성능 진단 및 컨설팅
현 테스트 시나리오 분석
부하 테스트 목적을 설정하고, 현재의
테스트 시나리오를 분석, 점검합니다.
테스트 시나리오 보완 방법
분석 결과를 기반으로 실제 사용 상황 및
특정 상황에 따른 시나리오 설계
부하 테스트 진행 방안
시나리오 테스트, 트랙잭션 별 단위 테스트 등
필요 항목에 따라 진행 방향을 설정합니다.
부하 테스트 전략 협의
진행 단계별로 전략을 세우고, 이에 따른
상세 목표를 설정합니다.
클라우드 기반의 테스트 방안
테스트 진행 시 필요한 툴 중 상황과
시나리오에 적합한 툴을 선정합니다.
22
1. 부하 테스트 목적
단위 서버(테스트 서버), 실제 서버를 기준으로 부하 테스트 목적을 설정합니다.
IMQA _ 성능 진단 및 컨설팅
사용자 시나리오 를 기반으로 한 테스트
트랜잭션 단위 테스트의 스트레스 테스트
부하 테스트 를 통한 임계값(Saturation Point) 산정
동시 접속자 수, TPS, 응답 시간 산정
최대 동시 접속자 수 산정
단위 서버
(테스트 서버)
실제 서버
(1)
(2)
(3)
(1) 사용자 시나리오: 실제 해당 앱의 사용자의 용 흐름을 분석하여 테스트 시나리오를 작성
(2) 스트레스 테스트(Stress Test): 시스템이 과부하 상태에서 어떻게 작동하는지를 검사하는 테스트
(3) 부하 테스트(Load Test): 서버 자원의 한계에 도달할 때까지 시스템에 부하를 꾸준히 증가시키며 진행하는 테스트
23
2. 테스트 시나리오 보완 방법 논의
분석 결과를 기반으로 테스트 시나리오 보완 방법을 논의하고 특정 상황에 대한 시나리오를 설계합니다.
IMQA _ 성능 진단 및 컨설팅
실제 사용 상황에 맞는 시나리오에 대한 테스트
: 주요 화면 (Account, Activity, Report, Support) 접속
1안
사용자로부터 HTTP(S) 요청을 추출하여 시나리오 산정 (IMQA)
: 특정일에 사용자가 발생시키는 테스트 분석 후 전달 가능
2안
24
2. 테스트 시나리오 보완 방법 논의
IMQA _ 성능 진단 및 컨설팅
1안
실제 사용 상황에 맞는 시나리오에 대한 테스트
특정 시간 기준, 주요 트랙잭션 분포를 통한 시나리오를 산정합니다.
고객사와 협의 후 시나리오 도출
ex. Account, Activity, Report, Support 등
Case #1.
주요 화면에 들어가는 비율
Case #2.
문제가 있는 화면만 집중
선정한 주요 화면 별
비율 도출
주요 화면 중 Activity가
특히 느리다면, 해당 화면만
집중 진행
25
2. 테스트 시나리오 보완 방법 논의
IMQA _ 성능 진단 및 컨설팅
2안
사용자로부터 HTTP(S) 요청을 추출하여 시나리오 산정
특정 시간 기준, 주요 트랙잭션 분포를 통한 시나리오를 산정합니다.
26
IMQA _ 성능 진단 및 컨설팅
주요 시나리오 산정 후,
시나리오 별로 얼마나
견디는지
테스트 진행
주요 시나리오 테스트
(Warm-up 테스트)
트랜잭션 별 단위 테스트
(Warm-up 테스트)
Top 20에 대한 트랜잭션에
대해서 얼마나 견디는지 테스트
진행
주요 시나리오 가중치 테스트
(시나리오별 가중치 테스트,
Warm-up 테스트)
선정된 주요 시나리오에
가중치를 부여하여 테스트 진행
ex) A 시나리오 30%,
B 시나리오 20%,
C 시나리오 50%
3. 부하 테스트 진행 방법
(1) 진행 방향 논의
27
3. 부하 테스트 진행 방법
(2) 최대 용량 산정 기준 협의
IMQA _ 성능 진단 및 컨설팅
Response Time
부하량 (가상 사용자 수) 부하량 (가상 사용자 수)
TPS TPS
목표 응답시간
임계점
28
3. 부하 테스트 진행 방법
(3) 주요 시나리오 선정
IMQA _ 성능 진단 및 컨설팅
단일 거래 테스트 복합 거래 테스트
단일 기능 시나리오 단일 기능 시나리오 A
단일 기능 시나리오 B
단일 기능 시나리오 C
10%
30%
60%
100%
29
3. 부하 테스트 진행 방법
(4) 시나리오 테스트 - 예시
IMQA _ 성능 진단 및 컨설팅
부하 테스트 1만 명 진행
합격자 발표 시나리오는 1만 명 이전까지는 큰 문제가 발생하지 않았다.
다만, 1만 명이 넘어가는 순간 다량의 쿼리를 사용하는 서비스인 getRecruitList에서 문제가 발생하는 것을 확인할 수 있었다.
평균적으로 3초에서 4초대의 응답시간을 보였으며, 3만 명에서는 8초 정도의 응답시간을 보이기도 했다.
부하 테스트 2만 명 진행 부하 테스트 3만 명 진행
합격자 발표 시나리오, 1만 명씩 늘려서 테스트
2만 명 이상 테스트를 할 경우에는 중간중간 에러가 많이 발생하였으며, 해당 에러는 Timeout wating for idle object로 확인이 되었다.
대부분 느린 쿼리로 인해 발생한 문제로 추측된다.
* A사 부하 테스트 예시
30
IMQA _ 성능 진단 및 컨설팅
* A사 부하 테스트 예시
시나리오 테스트 분석 결과
Connection Pool 수치는 현재로서는 적당한 수치로 보인다.
다만, 테스트 당일 기준으로 첫 페이지에서 다량의 쿼리로 인해 서비스 전체가 느려진 것을 확인할 수 있었다.
최대 3만 명까지는 대부분은 문제가 없었으나, 일부 사용자들이 4초 이상 응답 속도를 보였다.
4초 이상 걸리는 대부분의 응답 서비스는 메인 페이지에서 오래 걸린 것으로 확인이 된다.
2만 명 이상의 사용자가 방문했을 경우 에러가 많이 잡혔으며, 이는 느린 쿼리의 문제로 추측이 된다.
호출과 /getRecruitList의 성능 저하가 대부분이었으며, 호출에서는 4초 이상 걸리는 단일 쿼리가 많이 잡혔다.
메인 페이지 호출 빈도를 줄이거나 메인 페이지의 데이터를 Caching 하는 방법으로 호출 빈도를 줄이는 것도 방법으로 보인다.
또는 쿼리 튜닝이나 합격자 발표를 위한 별도의 페이지를 만드는 것도 한 방법으로 보인다.
합격자 발표 자체에서의 큰 문제는 발생하지 않았다. (대부분 3초 이내의 응답속도)
➡ 이 때 문제가 되는 트랜잭션을 선정하여
트랜잭션 단위 테스트 진행
3. 부하 테스트 진행 방법
(4) 시나리오 테스트 ‒ 결과 공유
31
IMQA _ 성능 진단 및 컨설팅
3. 부하 테스트 진행 방법
(4) 시나리오 테스트 ‒ 개선 후 테스트 결과 공유
개선 후 시나리오 테스트 Before / After 비교
* A사 부하 테스트 예시
부하 테스트 2만 명 진행 부하 테스트 3만 명 진행
TC 02 - 01에 비해서 역시 좋은 성능을 보여주고 있다.
대부분 3초 이내로 응답하였으며, 1초 이내의 데이터에서 진한 색으로 표시된 것으로 보아
대체로 안정적으로 데이터 응답을 하는 것으로 보인다.
32
IMQA _ 성능 진단 및 컨설팅
3. 부하 테스트 진행 방법
(4) 시나리오 테스트 ‒ 해석 결과 전달
테스트 결과
* A사 부하 테스트 예시
TC 02 - 01 과 비교했을 경우 80% 이상의 성능 향상을 보여주고 있다.
3차 테스트에서는 합격자 발표 부하 테스트의 최대 수용 가능한 사용자
수를 측정하고 산출하여도 큰 이상이 없는 성능을 보여주고 있다.
그래도 응답시간이 늦은 서비스가 보였으며 해당 부분은 Join 문을 사
용하고 있어 어쩔 수 없이 저하가 발생할 수밖에 없는 부분으로 보인다.
사용자 3만 명부터 늦은 응답시간을 보인 비중은 1200히트 정도이며
이는 전체에 1%에 해당되는 수치이다.
33
IMQA _ 성능 진단 및 컨설팅
4. 부하 테스트 단계별 전략
(1) 현 서비스 최소 단위 구성 후 선 테스트
서비스
최소 단위
구성
최소 단위 세트에서 부하
분석 후 컨설팅 리포트 제공
주요 트랜잭션 테스트의
성능 고도화에 집중
현 서비스 최소 단위 WAS,
DB 등의 세트를 구성하여
테스트
시나리오별, 트랜잭션별,
시나리오 가중치 별 테스트
34
IMQA _ 성능 진단 및 컨설팅
4. 부하 테스트 단계별 전략
(2) 최소 세트에서 문제점 도출 및 안정화 진행
Pre Test Main Test
Conformation
Test
Regression
Test
Pre Test
(사전 테스트)
관련 스크립트 및 환경
구성 체크 (방화벽,
네트워크 대역폭,
클러스트러링)
Main Test
(계통 테스트)
관련 에러 및 문제점
도출 (평균 1~2주)
Conformation Test
(확인 테스트 / 재
테스트)
결함이 해결되었는지
검증하는 테스트
Regression Test
(회귀 테스트)
변화에 대한 영향 검증
35
IMQA _ 성능 진단 및 컨설팅
4. 부하 테스트 단계별 전략
(3) 실 서비스 대용량 부하 테스트
시나리오 별,
트랜잭션 별,
시나리오 가중치 별
테스트
클라우드 기반의
1,000대
인스턴스로
테스트
주요 성능
리포트 제공
36
IMQA _ 성능 진단 및 컨설팅
5. 관련 툴 선정
(1) 부하 발생기
1안. JMeter 2안. Google Cloud
JMeter
Cloud
Instance
Cloud
Instance
Cloud
Instance
Cloud
Instance
웹 서비스
• 사내/사외 동일한 형태로 부하 테스트 가능
• 다양한 결과 리포트 쉽게 얻을 수 있음
• TPS 기반 / 시나리오 기반 / 가중치 기반 테스트 가능
• 빠른 부하 스크립트 재 개발이 가능 (1~3일)
• 코드 없이 대부분 개발 가능 (필요 시, 코드 삽입 가능)
• 유지 보수가 용이함
✕ 부하 스크립트 재개발 필요
✕ 클라우드 배포 시스템 및 Docker 버전 관리 필요
✕ 비용: 1시간 테스트 10만 원 내외 (1,000대기준)
GCP 제공 스크립트 개발
Cloud
Instance
Cloud
Instance
Cloud
Instance
Cloud
Instance
웹 서비스
• 비용: 1시간 테스트 8만 원 (1,000대 기준)
• TPS 기반의 테스트에만 유리함
✕ 높은 신규 부하 스크립트 제작 비용
✕ 구글 클라우드에서만 사용 가능
✕ 시나리오 기반 / 시나리오 기반 가중치 테스트 불가
37
IMQA _ 성능 진단 및 컨설팅
5. 관련 툴 선정
(1) 부하 발생기
퍼포먼스 테스트 툴
Wrk Vegeta Gatling JMeter nGrinder
수량 상관 없이
간단하게 서버
부하 테스트를
하고 싶을 때
초당 몇 개의 부하를
버티는지
테스트하고 싶을 때
높은 성능,
시나리오 작성,
html 보고서
다양한 기능이나
플러그인이 강점
빠른 시나리오
작성 가능
시나리오,
시나리오 가중치
테스트 불가, 개별
트랜잭션 TPS
측정에 중점
Thread 기반으로
구현되어 있어
성능과 동시성에
대해 제한이 있음
* 참고 자료: 매드업 ‒ 서버 퍼포먼스 테스트 툴 사용 후기
38
IMQA _ 성능 진단 및 컨설팅
5. 관련 툴 선정
(2) APM Application performance management
솔루션 개요 주요 기능
제니퍼 소프트
업계 1위 APM으로 강력한 지원
(APM의 시초)
✓ 실시간 트래픽 수집의 최강자
✓ 다양한 파트너와 연동 (모바일, DB 모니터링 연동)
✓ 실사례 및 문제 발생 시 연계 가능한 파트너가 많음
리포트 ∙ 분석 기능 ∙ 타사 제품과 연동성이 장점, 업계 1위의 안정성
Elastic APM
다양한 언어를 지원하는 APM
✓ 다양한 언어 지원 (java, node, python, ruby 등)
✓ 오픈소스로 누구나 사용 가능
✓ 실시간 장애 인지보다는 장애 후 원인 분석 가능
Java 외의 언어도 무상으로 쓸 수 있는 APM (Java, .NET, Ruby, Python, Node, Go 등)
39
IMQA _ 성능 진단 및 컨설팅
5. 관련 툴 선정
(2) APM Application performance management
솔루션 개요 주요 기능
와탭
SaaS형 APM으로
쉬운 설치와
서버 용량 걱정 없는 무료 사용
(15일 제한)
✓ 막대한 트래픽의 모니터링을 클라우드 상에서
모두 수집 가능
✓ 트랜잭션에서 걸리는 스택까지 수집 가능
✓ 정확한 동시 접속자 수 산정 가능 (실 유저로 수집 가능)
SaaS형으로 설치 용이
Pinpoint
End to End 트랜잭션 분석 가능
(네이버 개발)
✓ 제니퍼와 유사한 기능 보유
✓ End to End 트랜잭션을 모니터링하는데 중점적인
내부 설치 시 사용 / End to End 모니터링 시 필수
40
IMQA _ 성능 진단 및 컨설팅
진행 사례
한국 마사회 SK브로드밴드 SKT 티맵
셀트리온 스킨큐어 AIA 바이탈리티 커리어케어
닥스웨이브 배달의명수 전주정보문화산업진흥원
감 사 합 니 다
자세한 솔루션 문의는 전문 컨설턴트가 도와드립니다.
정현호 부장 | hhjung@onycom.com 02-6395-7722

More Related Content

What's hot

Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionJunHo Yoon
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020Amazon Web Services Korea
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance TuningJi-Woong Choi
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive Amazon Web Services Korea
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20Amazon Web Services Korea
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 SangIn Choung
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...Amazon Web Services Japan
 
開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリングAmazon Web Services Japan
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈Amazon Web Services Korea
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingAmazon Web Services Korea
 
클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100
클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100
클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100Amazon Web Services Korea
 
AWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LTAWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LTHibino Hisashi
 
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2Amazon Web Services Korea
 
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAmazon Web Services Japan
 
[AWS Builders] 프리티어 서비스부터 계정 보안까지
[AWS Builders] 프리티어 서비스부터 계정 보안까지[AWS Builders] 프리티어 서비스부터 계정 보안까지
[AWS Builders] 프리티어 서비스부터 계정 보안까지Amazon Web Services Korea
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計SORACOM, INC
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 Amazon Web Services Korea
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드Opennaru, inc.
 

What's hot (20)

Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd Edition
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100
클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100
클라우드 비용, 어떻게 줄일 수 있을까? - 구본민, AWS 클라우드 파이넌셜 매니저 :: AWS Builders 100
 
AWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LTAWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LT
 
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
 
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
 
[AWS Builders] 프리티어 서비스부터 계정 보안까지
[AWS Builders] 프리티어 서비스부터 계정 보안까지[AWS Builders] 프리티어 서비스부터 계정 보안까지
[AWS Builders] 프리티어 서비스부터 계정 보안까지
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
 
JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드
 

Similar to [IMQA] performance consulting

Performance consulting
Performance consultingPerformance consulting
Performance consultingIMQA
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How ToJi-Woong Choi
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415SeungBeom Ha
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunnerhmfive
 
Online service 계층별 성능 모니터링 방안
Online service 계층별 성능 모니터링 방안Online service 계층별 성능 모니터링 방안
Online service 계층별 성능 모니터링 방안중선 곽
 
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템SeungBeom Ha
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)SangIn Choung
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2tobeware
 
우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료 우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료 SangIn Choung
 
SW 테스트 프로세스& 메뉴얼_V 모델
SW 테스트 프로세스& 메뉴얼_V 모델SW 테스트 프로세스& 메뉴얼_V 모델
SW 테스트 프로세스& 메뉴얼_V 모델KU HUISEONG
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startupJunHo Yoon
 
효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합홍렬 임
 
장애 분석 절차 (서영일)
장애 분석 절차 (서영일)장애 분석 절차 (서영일)
장애 분석 절차 (서영일)WhaTap Labs
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
ParameterizedTest 와 ContextCaching.pptx
ParameterizedTest 와 ContextCaching.pptxParameterizedTest 와 ContextCaching.pptx
ParameterizedTest 와 ContextCaching.pptxjunu6
 
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기Ki Bae Kim
 
UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례SangIn Choung
 
[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략Ji-Woong Choi
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종guest7178884
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링OpenStack Korea Community
 

Similar to [IMQA] performance consulting (20)

Performance consulting
Performance consultingPerformance consulting
Performance consulting
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunner
 
Online service 계층별 성능 모니터링 방안
Online service 계층별 성능 모니터링 방안Online service 계층별 성능 모니터링 방안
Online service 계층별 성능 모니터링 방안
 
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
모바일 앱(App) 개발 테스트 솔루션 - 인터링크시스템
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
 
우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료 우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료
 
SW 테스트 프로세스& 메뉴얼_V 모델
SW 테스트 프로세스& 메뉴얼_V 모델SW 테스트 프로세스& 메뉴얼_V 모델
SW 테스트 프로세스& 메뉴얼_V 모델
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startup
 
효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합
 
장애 분석 절차 (서영일)
장애 분석 절차 (서영일)장애 분석 절차 (서영일)
장애 분석 절차 (서영일)
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
ParameterizedTest 와 ContextCaching.pptx
ParameterizedTest 와 ContextCaching.pptxParameterizedTest 와 ContextCaching.pptx
ParameterizedTest 와 ContextCaching.pptx
 
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
 
UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례
 
[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 

More from IMQA

[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?IMQA
 
실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기IMQA
 
Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴IMQA
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)IMQA
 
DHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology RallyDHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology RallyIMQA
 
AI 파이프라인과 실전 테스팅 전략
AI 파이프라인과 실전 테스팅 전략AI 파이프라인과 실전 테스팅 전략
AI 파이프라인과 실전 테스팅 전략IMQA
 
NIST Face Recognition Vendor Test, FRVT
NIST Face Recognition Vendor Test, FRVTNIST Face Recognition Vendor Test, FRVT
NIST Face Recognition Vendor Test, FRVTIMQA
 
인공지능 식별추적시스템 성능 검증 평가 사례
인공지능 식별추적시스템 성능 검증 평가 사례 인공지능 식별추적시스템 성능 검증 평가 사례
인공지능 식별추적시스템 성능 검증 평가 사례 IMQA
 
Introduction of IMQA MPM Solution
Introduction of IMQA MPM SolutionIntroduction of IMQA MPM Solution
Introduction of IMQA MPM SolutionIMQA
 
확장가능한 웹 아키텍쳐 구축 방안
확장가능한 웹 아키텍쳐 구축 방안 확장가능한 웹 아키텍쳐 구축 방안
확장가능한 웹 아키텍쳐 구축 방안 IMQA
 

More from IMQA (10)

[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
 
실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기
 
Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
 
DHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology RallyDHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology Rally
 
AI 파이프라인과 실전 테스팅 전략
AI 파이프라인과 실전 테스팅 전략AI 파이프라인과 실전 테스팅 전략
AI 파이프라인과 실전 테스팅 전략
 
NIST Face Recognition Vendor Test, FRVT
NIST Face Recognition Vendor Test, FRVTNIST Face Recognition Vendor Test, FRVT
NIST Face Recognition Vendor Test, FRVT
 
인공지능 식별추적시스템 성능 검증 평가 사례
인공지능 식별추적시스템 성능 검증 평가 사례 인공지능 식별추적시스템 성능 검증 평가 사례
인공지능 식별추적시스템 성능 검증 평가 사례
 
Introduction of IMQA MPM Solution
Introduction of IMQA MPM SolutionIntroduction of IMQA MPM Solution
Introduction of IMQA MPM Solution
 
확장가능한 웹 아키텍쳐 구축 방안
확장가능한 웹 아키텍쳐 구축 방안 확장가능한 웹 아키텍쳐 구축 방안
확장가능한 웹 아키텍쳐 구축 방안
 

[IMQA] performance consulting

  • 1. 웹 ∙ 앱 부하 테스트 성능 진단 및 컨설팅 안 본 문서는 어니컴(주)이 발행하는 문서이며 저작권법에 의해 보호를 받는 저작물입니다. 원문 출처를 표기하는 조건 하에 원문 그대로 공유 가능하며, 수정 및 영리 사용은 금지됩니다. Copyright © 2021 by ONYCOM. Inc. All Rights Reserved.
  • 2. Content 01 앱 성능 진단 02 웹 서버 성능 진단 03 부하 테스트
  • 3. 3 모바일 서비스 진단 개요 직접 개발한 자사 솔루션을 통해, Front End와 Back End로 구분하여 각 영역별로 최적화된 성능 진단 방법과 솔루션을 사용하여 진단 및 분석을 수행 앱 진단 (Front-end) 웹 진단 (Back-end) 솔루션 모바일 애플리케이션 진단 (with IMQA) 단말~서버(네트워크) Performance Test (with J-Meter) 진단 목적 ✓ 앱의 잠재 리스크 파악 ✓ 앱 성능 개선을 위한 문제 파악 ✓ 모바일 서비스 성능 개선 방향 도출 ✓ 앱 ~ 서버 간, 성능 저하 요인 발견 ✓ 현재 서비스 아키텍처 한계 파악 (임계치) ✓ 최대 부하, 최대 트랜잭션 처리 용량 검증 진행 순서 1. 환경 분석 2. 진단 준비 3. 성능 진단 4. 성능 분석 5. 결과 도출 1. 환경 분석 2. 테스트 시나리오 협의 3. 스크립트 개발 4. Warm-up test 5. 실 환경 테스트 IMQA _ 성능 진단 및 컨설팅
  • 5. 5 앱 (Front-end) 진단 절차 앱 진단은 환경 분석 후, 이에 맞는 진단 준비 하에 성능 진단 및 분석을 진행합니다. 성능 진단 결과를 통해 각 항목별 문제점에 대한 해결 방안을 제시합니다. IMQA _ 성능 진단 및 컨설팅 환경 분석 진단 준비 성능 진단 분석 결과 도출 • 앱 개발 환경 - Android - iOS • 서비스 시나리오 • 테스트 시나리오 • 고객 요구사항 • 앱 환경 - 진단 솔루션: IMQA - 대상: 해당 앱 • 성능 데이터 수집 환경 - 수집 서버: IMQA - 수집 주기: 10초 - VM 환경: 32Core CPU, 64GB Mem, 300GB SDD • 데이터 추출 방식/대상 - 실제 앱 배포 - 덤프 생성 주기: 1분 • 진단 횟수 - 3회 • 진단 도구 - IMQA 성능 진단 툴 활용 • 진단 대상 협의 - 1안: 내부 직원만 배포 - 2안: 30%만 수집 - 3안: 100% 실 유저 수집 • 분석 방법 - 항목별 성능 상세 분석 • 분석 항목 - 화면 로딩 시간 - 네트워크 응답 시간 - 자원 사용량 (CPU, MEM) - 배터리 사용량 - 디바이스 분포 - Native App Profiling - Hybrid App • 성능 분석 리포트 - 성능 지표 내용 - 문제 원인 및 해결 방안 • Lessons & Learn - 장애 및 성능 문제 요소 • To-Be 모델 - 개발 관점 - 운영 관점 - 서비스 관점 진단 환경 구성 진단 결과 정리
  • 6. 6 앱 (Front-end) 진단 상세 내용 모바일 앱 진단의 핵심 활동인 성능 분석은 총 7가지의 방법으로 구분되어 단계별로 진행됩니다. IMQA _ 성능 진단 및 컨설팅 3. 자원 사용량 사용자 모바일 기기별 화면 로딩 시간 • 화면 로딩이 늦는 시간 (5초 이상 소요 기준) • 화면 로딩 시간 비교 분석 • 병목 구간 유∙무 및 원인 분석 1. 화면 로딩 시간 2. 네트워크 응답시간 4. 배터리 사용량 • CPU 사용량 전체 중 상위 95%, 하위 5% 분류 • 메모리 사용량 전체 중 상위 95%, 하위 5% 분류 • 배터리 사용량 비교 분석 서버와의 Data 통신 시 요청에 따른 응답시간 • 하위 5% 이하에 해당되는 메소드 분석 • 하루 중 응답시간이 가장 낮은 시간대 • 응답시간 통계 (느린 구간 기준) * 자원 사용량: CPU (운영체제 및 메모리)
  • 7. 7 앱 (Front-end) 진단 상세 내용 모바일 앱 진단의 핵심 활동인 성능 분석은 총 7가지의 방법으로 구분되어 단계별로 진행됩니다. IMQA _ 성능 진단 및 컨설팅 7. Hybrid App Profiling 사용자 별 모바일 기기의 종류 구분 • 앱 사용자 디바이스 분류 5. 디바이스 분포 6. Native App Profiling Hybrid 사용 시 각 통신사 별 응답 시간 • Hybrid 화면 로딩 시 병목 구간 분석 Native 화면 로딩 시간 및 스택 Profiling • Native 화면 로딩 시 병목 구간 분석
  • 8. 8 1. 화면 로딩 시간 _ 병목 구간 측정 Case #1 화면 로딩 시간 진단을 통해 사용 시 병목 구간의 발생 여부를 확인하고 이에 대한 원인을 분석합니다. IMQA _ 성능 진단 및 컨설팅 병목 구간 발생 ✓ Main Activity에서 일부 병목 구간 발생 → 메인 화면에서 Call하여 그리는 UI 객체가 많음 ➡ 3.0 메인 상대 좌표를 통한 레이아웃 구성 변경 필요 * 결과 리포트 예시
  • 9. 9 1. 화면 로딩 시간 _ 병목 구간 측정 Case #2 화면 로딩 시간 진단을 통해 사용 시 병목 구간의 발생 여부를 확인하고 이에 대한 원인을 분석합니다. IMQA _ 성능 진단 및 컨설팅 ✓ LoginActivity가 4초 이상 소요됨에 따라 로그인 응답시간이 1.5초 이상 소요 ➡ 로그인 관련 API의 최적화 필요 (로그인 인증에 특화된 서버 캐시 도입 필요) ㅁ 병목구간 발생 * 결과 리포트 예시
  • 10. 10 2. 네트워크 응답 시간 _ Case #1 네트워크 응답 시간을 진단하고, 문제점을 파악하여 개선 방향을 제시합니다. IMQA _ 성능 진단 및 컨설팅 ✓ 느린 (SLOW) 구간의 Path가 특정하지 않고 산재되어 있음 ➡ 서버 연결 통신망을 기준으로 느린 구간에 대한 원인 파악 필요 (서버 문제 vs. 통신사 문제) * 결과 리포트 예시 ㅁ ◀ 응답시간 통계 화면 Wi-Fi 환경에서는 99.9 %가 1초 이내에 응답하는 우수한 상황
  • 11. 11 2. 네트워크 응답 시간 _ Case #2 IMQA _ 성능 진단 및 컨설팅 ✓ 하루 중 응답 시간이 가장 낮은 시간대 분석 ➡ 네트워크 응답 시간이 가장 늦은 시간대는 15:00~15:30 (일간 추이) * 결과 리포트 예시 ㅁ 시간대별 네트워크 응답시간과 앱 성능을 분석합니다. ㅁ
  • 12. 12 2. 네트워크 응답 시간 _ Case #3 모바일 앱에서 호출되는 기능 중에 네트워크 응답시간이 많이 걸리는 하위 메소드를 파악합니다. IMQA _ 성능 진단 및 컨설팅 ✓ 하위 5% 응답 시간에 해당되는 기능 분석 ➡ SKT, KT, LGT 등 외부망 이용 시, 통신 환경에 따른 Delay가 발생할 수 있음 * 결과 리포트 예시 ㅁ
  • 13. 13 3. 자원 사용량 _ Case #1 하이브리드 앱의 웹 화면 로딩 속도 프로파일링이 가능합니다. (서버 시간, 앱 내부 로딩 시간 별도 분석 가능) IMQA _ 성능 진단 및 컨설팅 * 결과 리포트 예시 ㅁ
  • 14. 14 3. 자원 사용량 _ Case #2 모바일 앱의 단말기에서 CPU와 메모리 자원 사용량에 대한 성능을 분석합니다. (사용량 전체 중 상위 95%, 하위 5% 분류) IMQA _ 성능 진단 및 컨설팅 CPU 권고 사용량 50% 이하에서 평균 사용량 13%, 하위 5% → 22% 사용 * 결과 리포트 예시 자원 사용량: CPU 자원 사용량: 메모리 메모리 권고 사용량 100MB 이하에서 평균 20MB, 하위 5% → 28MB 사용
  • 15. 15 4. 배터리 사용량 사용자 모바일 기기의 배터리 사용량에 대한 성능을 분석합니다. IMQA _ 성능 진단 및 컨설팅 * 결과 리포트 예시 ㅁ -0.25 -0.2 -0.15 -0.1 -0.05 0 예시 앱 A. 채팅 B. 뮤직 배터리 사용량 비교 분석 vs. A & B 배터리 사용량이 비교 대상 A와 B 대비 낮은 편 • 3000mAh 기준으로 평가 • 비교 대상 A: ‘채팅 프로그램'에서 주기적으로 메시지를 전송, 간헐적 동영상 보기로 테스트 • 비교 대상 B: ‘뮤직 플레이어’를 화면에 켜놓은 상태로 몇 시간 동안 테스트
  • 16. 16 5. 통신사 분석 서비스 사용자의 주 통신사를 분석합니다. IMQA _ 성능 진단 및 컨설팅 ✓ SK Telecom의 응답시간이 타 통신사에 비해 느림 ➡ 국내 인구 비율상 SK Telecom 사용자가 많으므로, 상대적으로 더 많은 기지국 확충이 필요해 보임 * 결과 리포트 예시 ㅁ 국내 3대 통신사 별 통신 응답 시간
  • 18. 18 웹 (Back-end) 진단 절차 앱 진단은 환경 분석 후, 이에 맞는 진단 준비 하에 전체 및 단위별 성능을 진단합니다. 성능 진단 결과 분석을 통해 각 항목별 문제점에 대한 해결 방안을 제시합니다. IMQA _ 성능 진단 및 컨설팅 환경 분석 진단 준비 환경 검증 성능 분석 결과 도출 • 서버 로그 분석 • 부하 테스트 시나리오 • 고객 요구사항 • 부하 테스트 대상 환경 - 대상: 해당 앱 • 부하 테스트 환경 - Google Cloud 10대 - Jmeter 5.1 - Open JDK 1.8 • 데이터 스크립트 작성 - Jmeter를 이용하여 작성 (.jmx 파일) • 진단 횟수 - 3회 • 진단 방법 - 개발 환경에 테스트 시나리오 검증 • 분석 방법 - Jmeter를 통한 전체 시나리오 테스트 • 분석 항목 - 요청 및 응답 값 확인 - 정상 서버 처리 확인 - 비정상 API 확인 • 성능 분석 리포트 - 성능 분석 내용 - 문제 원인 및 해결 방안 • Lessons & Learn - 장애 및 성능 문제 요소 • To-Be 모델 - 개발 관점 - 운영 관점 진단 환경 구성 진단 결과 정리 • 진단 횟수 - 5회 • 진단 방법 - 개별 시나리오 부하 테스트 및 분석 리포트 제공 • 분석 방법 - Jmeter를 통한 Warm-up 방식 • 분석 항목 - 응답시간 및 TPS - 에러율 및 임계값 - 비정상 API
  • 19. 19 웹 (Back-end) 진단 방안 스크립트 작성 후, 진단 환경을 구성합니다. IMQA _ 성능 진단 및 컨설팅 진단 결과 정리 진단 환경 구성 JMeter와 Google Cloud 부하 테스트 환경 JMeter 전체 API 테스트 비정상 API 테스트 테스트 케이스 A 테스트 케이스 B 테스트 케이스 C 단위 테스트 시나리오 테스트 Google Cloud Instance 해당 앱 서버 APM
  • 21. 21 부하 테스트 주요 논의 사항 IMQA _ 성능 진단 및 컨설팅 현 테스트 시나리오 분석 부하 테스트 목적을 설정하고, 현재의 테스트 시나리오를 분석, 점검합니다. 테스트 시나리오 보완 방법 분석 결과를 기반으로 실제 사용 상황 및 특정 상황에 따른 시나리오 설계 부하 테스트 진행 방안 시나리오 테스트, 트랙잭션 별 단위 테스트 등 필요 항목에 따라 진행 방향을 설정합니다. 부하 테스트 전략 협의 진행 단계별로 전략을 세우고, 이에 따른 상세 목표를 설정합니다. 클라우드 기반의 테스트 방안 테스트 진행 시 필요한 툴 중 상황과 시나리오에 적합한 툴을 선정합니다.
  • 22. 22 1. 부하 테스트 목적 단위 서버(테스트 서버), 실제 서버를 기준으로 부하 테스트 목적을 설정합니다. IMQA _ 성능 진단 및 컨설팅 사용자 시나리오 를 기반으로 한 테스트 트랜잭션 단위 테스트의 스트레스 테스트 부하 테스트 를 통한 임계값(Saturation Point) 산정 동시 접속자 수, TPS, 응답 시간 산정 최대 동시 접속자 수 산정 단위 서버 (테스트 서버) 실제 서버 (1) (2) (3) (1) 사용자 시나리오: 실제 해당 앱의 사용자의 용 흐름을 분석하여 테스트 시나리오를 작성 (2) 스트레스 테스트(Stress Test): 시스템이 과부하 상태에서 어떻게 작동하는지를 검사하는 테스트 (3) 부하 테스트(Load Test): 서버 자원의 한계에 도달할 때까지 시스템에 부하를 꾸준히 증가시키며 진행하는 테스트
  • 23. 23 2. 테스트 시나리오 보완 방법 논의 분석 결과를 기반으로 테스트 시나리오 보완 방법을 논의하고 특정 상황에 대한 시나리오를 설계합니다. IMQA _ 성능 진단 및 컨설팅 실제 사용 상황에 맞는 시나리오에 대한 테스트 : 주요 화면 (Account, Activity, Report, Support) 접속 1안 사용자로부터 HTTP(S) 요청을 추출하여 시나리오 산정 (IMQA) : 특정일에 사용자가 발생시키는 테스트 분석 후 전달 가능 2안
  • 24. 24 2. 테스트 시나리오 보완 방법 논의 IMQA _ 성능 진단 및 컨설팅 1안 실제 사용 상황에 맞는 시나리오에 대한 테스트 특정 시간 기준, 주요 트랙잭션 분포를 통한 시나리오를 산정합니다. 고객사와 협의 후 시나리오 도출 ex. Account, Activity, Report, Support 등 Case #1. 주요 화면에 들어가는 비율 Case #2. 문제가 있는 화면만 집중 선정한 주요 화면 별 비율 도출 주요 화면 중 Activity가 특히 느리다면, 해당 화면만 집중 진행
  • 25. 25 2. 테스트 시나리오 보완 방법 논의 IMQA _ 성능 진단 및 컨설팅 2안 사용자로부터 HTTP(S) 요청을 추출하여 시나리오 산정 특정 시간 기준, 주요 트랙잭션 분포를 통한 시나리오를 산정합니다.
  • 26. 26 IMQA _ 성능 진단 및 컨설팅 주요 시나리오 산정 후, 시나리오 별로 얼마나 견디는지 테스트 진행 주요 시나리오 테스트 (Warm-up 테스트) 트랜잭션 별 단위 테스트 (Warm-up 테스트) Top 20에 대한 트랜잭션에 대해서 얼마나 견디는지 테스트 진행 주요 시나리오 가중치 테스트 (시나리오별 가중치 테스트, Warm-up 테스트) 선정된 주요 시나리오에 가중치를 부여하여 테스트 진행 ex) A 시나리오 30%, B 시나리오 20%, C 시나리오 50% 3. 부하 테스트 진행 방법 (1) 진행 방향 논의
  • 27. 27 3. 부하 테스트 진행 방법 (2) 최대 용량 산정 기준 협의 IMQA _ 성능 진단 및 컨설팅 Response Time 부하량 (가상 사용자 수) 부하량 (가상 사용자 수) TPS TPS 목표 응답시간 임계점
  • 28. 28 3. 부하 테스트 진행 방법 (3) 주요 시나리오 선정 IMQA _ 성능 진단 및 컨설팅 단일 거래 테스트 복합 거래 테스트 단일 기능 시나리오 단일 기능 시나리오 A 단일 기능 시나리오 B 단일 기능 시나리오 C 10% 30% 60% 100%
  • 29. 29 3. 부하 테스트 진행 방법 (4) 시나리오 테스트 - 예시 IMQA _ 성능 진단 및 컨설팅 부하 테스트 1만 명 진행 합격자 발표 시나리오는 1만 명 이전까지는 큰 문제가 발생하지 않았다. 다만, 1만 명이 넘어가는 순간 다량의 쿼리를 사용하는 서비스인 getRecruitList에서 문제가 발생하는 것을 확인할 수 있었다. 평균적으로 3초에서 4초대의 응답시간을 보였으며, 3만 명에서는 8초 정도의 응답시간을 보이기도 했다. 부하 테스트 2만 명 진행 부하 테스트 3만 명 진행 합격자 발표 시나리오, 1만 명씩 늘려서 테스트 2만 명 이상 테스트를 할 경우에는 중간중간 에러가 많이 발생하였으며, 해당 에러는 Timeout wating for idle object로 확인이 되었다. 대부분 느린 쿼리로 인해 발생한 문제로 추측된다. * A사 부하 테스트 예시
  • 30. 30 IMQA _ 성능 진단 및 컨설팅 * A사 부하 테스트 예시 시나리오 테스트 분석 결과 Connection Pool 수치는 현재로서는 적당한 수치로 보인다. 다만, 테스트 당일 기준으로 첫 페이지에서 다량의 쿼리로 인해 서비스 전체가 느려진 것을 확인할 수 있었다. 최대 3만 명까지는 대부분은 문제가 없었으나, 일부 사용자들이 4초 이상 응답 속도를 보였다. 4초 이상 걸리는 대부분의 응답 서비스는 메인 페이지에서 오래 걸린 것으로 확인이 된다. 2만 명 이상의 사용자가 방문했을 경우 에러가 많이 잡혔으며, 이는 느린 쿼리의 문제로 추측이 된다. 호출과 /getRecruitList의 성능 저하가 대부분이었으며, 호출에서는 4초 이상 걸리는 단일 쿼리가 많이 잡혔다. 메인 페이지 호출 빈도를 줄이거나 메인 페이지의 데이터를 Caching 하는 방법으로 호출 빈도를 줄이는 것도 방법으로 보인다. 또는 쿼리 튜닝이나 합격자 발표를 위한 별도의 페이지를 만드는 것도 한 방법으로 보인다. 합격자 발표 자체에서의 큰 문제는 발생하지 않았다. (대부분 3초 이내의 응답속도) ➡ 이 때 문제가 되는 트랜잭션을 선정하여 트랜잭션 단위 테스트 진행 3. 부하 테스트 진행 방법 (4) 시나리오 테스트 ‒ 결과 공유
  • 31. 31 IMQA _ 성능 진단 및 컨설팅 3. 부하 테스트 진행 방법 (4) 시나리오 테스트 ‒ 개선 후 테스트 결과 공유 개선 후 시나리오 테스트 Before / After 비교 * A사 부하 테스트 예시 부하 테스트 2만 명 진행 부하 테스트 3만 명 진행 TC 02 - 01에 비해서 역시 좋은 성능을 보여주고 있다. 대부분 3초 이내로 응답하였으며, 1초 이내의 데이터에서 진한 색으로 표시된 것으로 보아 대체로 안정적으로 데이터 응답을 하는 것으로 보인다.
  • 32. 32 IMQA _ 성능 진단 및 컨설팅 3. 부하 테스트 진행 방법 (4) 시나리오 테스트 ‒ 해석 결과 전달 테스트 결과 * A사 부하 테스트 예시 TC 02 - 01 과 비교했을 경우 80% 이상의 성능 향상을 보여주고 있다. 3차 테스트에서는 합격자 발표 부하 테스트의 최대 수용 가능한 사용자 수를 측정하고 산출하여도 큰 이상이 없는 성능을 보여주고 있다. 그래도 응답시간이 늦은 서비스가 보였으며 해당 부분은 Join 문을 사 용하고 있어 어쩔 수 없이 저하가 발생할 수밖에 없는 부분으로 보인다. 사용자 3만 명부터 늦은 응답시간을 보인 비중은 1200히트 정도이며 이는 전체에 1%에 해당되는 수치이다.
  • 33. 33 IMQA _ 성능 진단 및 컨설팅 4. 부하 테스트 단계별 전략 (1) 현 서비스 최소 단위 구성 후 선 테스트 서비스 최소 단위 구성 최소 단위 세트에서 부하 분석 후 컨설팅 리포트 제공 주요 트랜잭션 테스트의 성능 고도화에 집중 현 서비스 최소 단위 WAS, DB 등의 세트를 구성하여 테스트 시나리오별, 트랜잭션별, 시나리오 가중치 별 테스트
  • 34. 34 IMQA _ 성능 진단 및 컨설팅 4. 부하 테스트 단계별 전략 (2) 최소 세트에서 문제점 도출 및 안정화 진행 Pre Test Main Test Conformation Test Regression Test Pre Test (사전 테스트) 관련 스크립트 및 환경 구성 체크 (방화벽, 네트워크 대역폭, 클러스트러링) Main Test (계통 테스트) 관련 에러 및 문제점 도출 (평균 1~2주) Conformation Test (확인 테스트 / 재 테스트) 결함이 해결되었는지 검증하는 테스트 Regression Test (회귀 테스트) 변화에 대한 영향 검증
  • 35. 35 IMQA _ 성능 진단 및 컨설팅 4. 부하 테스트 단계별 전략 (3) 실 서비스 대용량 부하 테스트 시나리오 별, 트랜잭션 별, 시나리오 가중치 별 테스트 클라우드 기반의 1,000대 인스턴스로 테스트 주요 성능 리포트 제공
  • 36. 36 IMQA _ 성능 진단 및 컨설팅 5. 관련 툴 선정 (1) 부하 발생기 1안. JMeter 2안. Google Cloud JMeter Cloud Instance Cloud Instance Cloud Instance Cloud Instance 웹 서비스 • 사내/사외 동일한 형태로 부하 테스트 가능 • 다양한 결과 리포트 쉽게 얻을 수 있음 • TPS 기반 / 시나리오 기반 / 가중치 기반 테스트 가능 • 빠른 부하 스크립트 재 개발이 가능 (1~3일) • 코드 없이 대부분 개발 가능 (필요 시, 코드 삽입 가능) • 유지 보수가 용이함 ✕ 부하 스크립트 재개발 필요 ✕ 클라우드 배포 시스템 및 Docker 버전 관리 필요 ✕ 비용: 1시간 테스트 10만 원 내외 (1,000대기준) GCP 제공 스크립트 개발 Cloud Instance Cloud Instance Cloud Instance Cloud Instance 웹 서비스 • 비용: 1시간 테스트 8만 원 (1,000대 기준) • TPS 기반의 테스트에만 유리함 ✕ 높은 신규 부하 스크립트 제작 비용 ✕ 구글 클라우드에서만 사용 가능 ✕ 시나리오 기반 / 시나리오 기반 가중치 테스트 불가
  • 37. 37 IMQA _ 성능 진단 및 컨설팅 5. 관련 툴 선정 (1) 부하 발생기 퍼포먼스 테스트 툴 Wrk Vegeta Gatling JMeter nGrinder 수량 상관 없이 간단하게 서버 부하 테스트를 하고 싶을 때 초당 몇 개의 부하를 버티는지 테스트하고 싶을 때 높은 성능, 시나리오 작성, html 보고서 다양한 기능이나 플러그인이 강점 빠른 시나리오 작성 가능 시나리오, 시나리오 가중치 테스트 불가, 개별 트랜잭션 TPS 측정에 중점 Thread 기반으로 구현되어 있어 성능과 동시성에 대해 제한이 있음 * 참고 자료: 매드업 ‒ 서버 퍼포먼스 테스트 툴 사용 후기
  • 38. 38 IMQA _ 성능 진단 및 컨설팅 5. 관련 툴 선정 (2) APM Application performance management 솔루션 개요 주요 기능 제니퍼 소프트 업계 1위 APM으로 강력한 지원 (APM의 시초) ✓ 실시간 트래픽 수집의 최강자 ✓ 다양한 파트너와 연동 (모바일, DB 모니터링 연동) ✓ 실사례 및 문제 발생 시 연계 가능한 파트너가 많음 리포트 ∙ 분석 기능 ∙ 타사 제품과 연동성이 장점, 업계 1위의 안정성 Elastic APM 다양한 언어를 지원하는 APM ✓ 다양한 언어 지원 (java, node, python, ruby 등) ✓ 오픈소스로 누구나 사용 가능 ✓ 실시간 장애 인지보다는 장애 후 원인 분석 가능 Java 외의 언어도 무상으로 쓸 수 있는 APM (Java, .NET, Ruby, Python, Node, Go 등)
  • 39. 39 IMQA _ 성능 진단 및 컨설팅 5. 관련 툴 선정 (2) APM Application performance management 솔루션 개요 주요 기능 와탭 SaaS형 APM으로 쉬운 설치와 서버 용량 걱정 없는 무료 사용 (15일 제한) ✓ 막대한 트래픽의 모니터링을 클라우드 상에서 모두 수집 가능 ✓ 트랜잭션에서 걸리는 스택까지 수집 가능 ✓ 정확한 동시 접속자 수 산정 가능 (실 유저로 수집 가능) SaaS형으로 설치 용이 Pinpoint End to End 트랜잭션 분석 가능 (네이버 개발) ✓ 제니퍼와 유사한 기능 보유 ✓ End to End 트랜잭션을 모니터링하는데 중점적인 내부 설치 시 사용 / End to End 모니터링 시 필수
  • 40. 40 IMQA _ 성능 진단 및 컨설팅 진행 사례 한국 마사회 SK브로드밴드 SKT 티맵 셀트리온 스킨큐어 AIA 바이탈리티 커리어케어 닥스웨이브 배달의명수 전주정보문화산업진흥원
  • 41. 감 사 합 니 다 자세한 솔루션 문의는 전문 컨설턴트가 도와드립니다. 정현호 부장 | hhjung@onycom.com 02-6395-7722