소프트웨어 테스팅 실무 -...

30
웹어플리케이션 웹어플리케이션 성능 성능 테스팅 테스팅 사례 사례 와이더댄 박은영 ([email protected])

Upload: dodung

Post on 20-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

웹어플리케이션웹어플리케이션 성능성능 테스팅테스팅 사례사례

와이더댄 박은영 ([email protected])

2Number of Slide l

목 차

1.1. IntroductionIntroduction

2.2. Test PlanTest Plan

3.3. AssumptionAssumption

4.4. The ResultThe Result

5.5. ConclusionConclusion

3Number of Slide l

1.1 Base line of the performance level1.1 Base line of the performance level

1.2 Definition of transactions1.2 Definition of transactions

1. Introduction

4Number of Slide l

1. Introduction

웹웹 어플리케이션어플리케이션 성능성능 테스트테스트 대상대상 제품제품

●● Ring back tone Ring back tone 제품제품 (ex, (ex, 컬러링컬러링))

●● Music on Demand Music on Demand 제품제품 (ex, (ex, 멜론멜론))

성능성능 테스트는테스트는

●● 제품제품 요구요구 문서문서, , 개발개발 정의정의 문서문서, , 계약서계약서, , 운영중에운영중에 수집된수집된 통계통계 정보정보, ,

및및 시스템시스템 사이징사이징 문서를문서를 참조하여참조하여 제품이제품이 만족해야만족해야 할할 성능성능 수준을수준을

정의정의하고하고 실제실제 구축된구축된 사이트의사이트의 성능을성능을 검증검증하는하는 작업이다작업이다..

●● 와이더댄와이더댄 HQ QA HQ QA 성능성능 시험은시험은 top 10 business transactiontop 10 business transaction을을 기준으로기준으로

부하를부하를 발생시킨발생시킨 후후 계획된계획된 요구요구 수준을수준을 만족하는만족하는 상태상태의의 측정측정 결과값결과값

을을 수집하여수집하여 서비스서비스 성능성능 수준을수준을 확인확인 및및 예측예측하는하는 것을것을 목표로목표로 한다한다..

●● 성능성능 테스트를테스트를 통해통해 트랜잭션트랜잭션 응답속도응답속도, , 시스템시스템 메모리메모리 및및 CPUCPU사용량사용량

을을 측정하고측정하고 system architecturesystem architecture와와 software structuresoftware structure를를 검증한다검증한다..

5Number of Slide l

1.1 Base line of the performance level

성능성능 테스트테스트 시작시작 조건조건

●● 성능성능 테스트테스트 요청이요청이 들어왔을들어왔을 때때

●● 부하부하 발생발생 대상대상(Top 10 business) (Top 10 business) 모듈의모듈의 개발이개발이 완료된완료된 상태상태

●● 전체적인전체적인 개발개발 완료율은완료율은 90% 90% 이상인이상인 상태상태

●● 요구된요구된 테스트테스트 데이터가데이터가 준비된준비된 상태상태

●● 필요한필요한 정보정보 및및 작업이작업이 완료되었을완료되었을 때때

성능성능 테스트테스트 종료종료 조건조건

●● 정해진정해진 기간에기간에 제품의제품의 성능성능 수준수준 예측예측 값이값이 도출되었을도출되었을 때때

●● 성능성능 테스트테스트 결과결과 보고서를보고서를 작성하여작성하여 보고보고 메일을메일을 전송했을전송했을 때때

●● 제품제품 성능성능 수준수준 측정측정 결과값을결과값을 토대로토대로 추정치를추정치를 예측하는데예측하는데 있어서있어서 포포

함될함될 수수 있는있는 내용내용

•• 만일만일 build acceptance test build acceptance test 및및 system acceptance testsystem acceptance test를를 진행하면서진행하면서 프로그램프로그램 오류와오류와

3rd party solution3rd party solution에서에서 결함이결함이 발견되면발견되면 그그 상태를상태를 보고하고보고하고

•• 정해진정해진 자원자원(M/M)(M/M)을을 다다 사용한사용한 시점에시점에 위의위의 문제가문제가 해결되지해결되지 않았다면않았다면 그때까지그때까지 수집된수집된

측정측정 결과값을결과값을 토대로토대로 제품의제품의 성능성능 수준을수준을 예측하고예측하고 종료한다종료한다..

6Number of Slide l

1.2 Definition of transactions

트랜잭션은트랜잭션은

●● 고객마다고객마다 그그 정의가정의가 변경될변경될 수수 있으며있으며,,

●● 일반적으로일반적으로 하나의하나의 메시지를메시지를 처리하는처리하는 흐름들로흐름들로 구성되어구성되어,,

●● 하나의하나의 단위로단위로 수행되어야수행되어야 하는하는 연산연산 문장들의문장들의 집합으로집합으로 정의함정의함

●● 예예) ) 입력한입력한 검색검색 명령어에명령어에 대해대해 검색검색 결과가결과가 출력출력 완료되는완료되는 시시

점까지점까지 하나의하나의 트랜잭션으로트랜잭션으로 정의한다정의한다..

7Number of Slide l

2.1 Planning Procedure2.1 Planning Procedure

2.2 Test Procedure2.2 Test Procedure

2.3 System Architecture2.3 System Architecture

2.4 Test Type2.4 Test Type

2.5 Test Scenario Overview2.5 Test Scenario Overview

2.6 Contact Point2.6 Contact Point

2. Test Plan

8Number of Slide l

2.1 Planning Procedure

성능성능 테스트테스트 Planning Planning 단계에서의단계에서의 작업작업 목록목록

●● 성능성능 테스트테스트 목적목적 및및 범위범위 정의정의

●● Contact point Contact point 및및 R&R R&R 명시명시

●● 트랜잭션트랜잭션 정의정의

●● 성능성능 수준수준 정의정의 ((동시동시 사용자사용자 정의정의))

●● 사용자사용자 사용사용 패턴패턴 예측예측 (Top 10 business (Top 10 business 정의정의))

●● 테스트테스트 환경환경 명시명시

●● 전제전제 조건조건 정의정의

●● 필요한필요한 테스트테스트 데이터데이터 정의정의

●● 사전사전 준비준비 사항사항, , 완료날짜완료날짜 및및 작업작업 결과결과 확인확인 (checklist)(checklist)

●● 리스크리스크 분석분석

●● Test script sampleTest script sample을을 작성하여작성하여 추가적인추가적인 작업작업 요건요건 확인확인 ((필필

요시요시 별도의별도의 simulatorsimulator나나 UIUI를를 개발팀에개발팀에 요청요청))

9Number of Slide l

2.1 Planning Procedure

성능성능 테스트테스트 Planning Planning 과정에서과정에서 계획된계획된 모든모든 작업작업 단위에단위에

대해서는대해서는 누가누가 그그 작업을작업을 수행할수행할 것인지에것인지에 대해대해 지정하여지정하여

마무리마무리 한다한다..

[[작성작성 예제예제]]

Steps Activities Owner Due Date Result

1 Decide the schedule of Helio’s site load testing 09.27 OK

2 Define pre-requirements for the testing 09.22~10.17 OK

3 Define the load testing scope 09.27~10.03 OK

4 Define the test environment 10.06 OK

5 Assign each task’s owner with the target date 10.03~ OK

6 Define transactions and estimate a user’s activities 10.04 OK

10Number of Slide l

계획 및 설계계획 및 설계 검토 및 업데이트검토 및 업데이트

시스템 및 App 준비시스템 및 App 준비

System Acceptance Test

System Acceptance Test

Build Acceptance Test

Build Acceptance Test

실행실행

결과 분석 및 평가결과 분석 및 평가

based on pre-requirements listSystem, Config, Log 확인 등

based on pre-requirements listSystem, Config, Log 확인 등

based on top 10 business scenario

Test Script / Test Scenario 작성

based on top 10 business scenario

Test Script / Test Scenario 작성

시스템 초기 자원 사용률 측정

계획한 부하 발생 (unit, Aging, Integration, end-to-end)

시스템 초기 자원 사용률 측정

계획한 부하 발생 (unit, Aging, Integration, end-to-end)

응답시간, 성공률, 시스템 자원 사용률, 동시 사용자 결과 분석

가용성, 성능, 시스템증설싯점 예측

응답시간, 성공률, 시스템 자원 사용률, 동시 사용자 결과 분석

가용성, 성능, 시스템증설싯점 예측

Saturation point 찾기 (3회 성공결과 확보)

Tuning & Fix a defect

Saturation point 찾기 (3회 성공결과 확보)

Tuning & Fix a defect

DEVDEV QAQA SESE PMPM

2.2 Test Procedure

11Number of Slide l

2.3 System Architecture

실행실행 환경환경 구성구성 요소요소 ((웹웹 인프라스트럭처인프라스트럭처))

●● WEB ServerWEB Server

●● WAS: Application ServerWAS: Application Server

●● Database ServerDatabase Server

●● 부하분산장비부하분산장비

(Layer(Layer--4 Switch)4 Switch)

성능성능 테스트테스트 검증검증 대상대상

●● 성능성능 (Performance)(Performance)

●● 확장성확장성 (Scalability)(Scalability)

●● 가용성가용성 (Availability)(Availability)

●● 보안보안 (Security)(Security)

●● 기존기존 시스템과시스템과 통합통합 (Legacy Interface)(Legacy Interface)

12Number of Slide l

2.4 Test Type

성능테스트성능테스트 수행수행 단계단계 및및 단계별단계별 부하부하 주는주는 위치위치

테스트테스트 진행시진행시 고려사항고려사항 ((**발취발취::성능시험소개서성능시험소개서--IBM IBM 발표자료발표자료, Hark Young, Oh, Hark Young, Oh))

●● 신규신규 사이트사이트•• 시스템시스템 설계설계 당시당시 산정된산정된 동시사용자동시사용자 수수 및및 성능성능(TPS,(TPS,응답시간응답시간))을을 만족하는가만족하는가??

•• 현현 개발중인개발중인 시스템은시스템은 최적화최적화가가 제대로제대로 되어되어 있는가있는가??

●● 기존기존 사이트사이트•• 다수의다수의 사용자가사용자가 접속접속 하였을하였을 때때 성능성능 상의상의 이슈이슈 사항사항은은 없는가없는가??

•• 계속계속 증가하는증가하는 사용자를사용자를 언제까지언제까지 대응대응할할 수수 있을까있을까??

•• 시스템시스템 증설증설 시시 가장가장 효과적인효과적인 투자투자 부분부분은은 어디인가어디인가??

●● 개편개편((통합통합) ) 사이트사이트•• 개편개편 전전 시스템의시스템의 성능을성능을 제대로제대로 수행해수행해 내는가내는가??

•• 통합통합 전전 시스템들의시스템들의 사용자를사용자를 통합통합 이후이후 제대로제대로 수용수용할할 수수 있는가있는가??

1단계: Unit Test1단계: Unit Test

2단계: Integration Test2단계: Integration Test

3단계: End-to-End Test3단계: End-to-End Test

Agi

ng T

est

Agi

ng T

est

각 서비스를 구성하고 있는 시스템한 대에 대한 성능 및 안정성 확인

각 서비스를 구성하고 있는 시스템한 대에 대한 성능 및 안정성 확인

L4 Switch 앞에 부하를 주어 load balancing시 서비스 성능 수준 확인

L4 Switch 앞에 부하를 주어 load balancing시 서비스 성능 수준 확인

Infrastructure의 영향 분석 및 실제서비스될 수 있는 total TPS 확인

Infrastructure의 영향 분석 및 실제서비스될 수 있는 total TPS 확인

13Number of Slide l

2.5 Test Scenario Overview

테스트테스트 시나리오에서시나리오에서 고려해야고려해야 할할 부분부분

●● Think timeThink time은은 00으로으로 설정하여설정하여 시스템의시스템의 성능을성능을 확인확인

●● 실행실행 시간시간: peak time (1 : peak time (1 시간시간))

●● 성능성능 수준이수준이 정의되었을정의되었을 때는때는 Peak loadPeak load로로 부하부하 발생시킴발생시킴

•• 성능성능 수준이수준이 정의되지정의되지 않았을않았을 경우에는경우에는 가상가상 유저를유저를 점진적으로점진적으로 lamp uplamp up해서해서

saturation point saturation point 확인확인

●● 트랜잭션트랜잭션 설정설정 내용내용 확인확인

●● 응답응답 시간이시간이 33초초 이상일이상일 경우경우

transaction failtransaction fail로로 처리처리

●● 트랜잭션트랜잭션 별별 hit ratio hit ratio 정의정의

●● 작업작업 환경에서환경에서 테스트테스트 불가한불가한 기능기능 정의정의

●● 테스트테스트 데이터에데이터에 따른따른 파라메터파라메터 호출호출 방법방법 정의정의

14Number of Slide l

2.6 Contact Point

성능성능 테스트를테스트를 진행하는데진행하는데 있어서있어서 가장가장 먼저먼저 파악해야파악해야 하는하는

부분은부분은 아래와아래와 같은같은 관련자관련자 정보를정보를 미리미리 수집하는수집하는 것이다것이다..

Category Name / e-mail Assigned Date Result

Project Manager 10.02 OK

Technical Leader 10.02 OK

System Engineer 10.02 OK

Network Administrator 10.02 OK

Data base Administrator 10.02 OK

Preparing some desktop systems

10.02 OK

Product Designer 10.02 OK

Load Tester박은영 ([email protected]) 09.27 OK

15Number of Slide l

3.13.1 Performance levelPerformance level

3.23.2 Resources to be requiredResources to be required

3.3 Pre3.3 Pre--requisitesrequisites

3. Assumption

16Number of Slide l

3.1 Performance Level

Assumption user activity (Depends on Local Market. Assumption user activity (Depends on Local Market. This is forThis is for US Market)US Market)

●● Total daily users using WEB and PC Client: 10% against subscribeTotal daily users using WEB and PC Client: 10% against subscriberr

●● WEB user WEB user vsvs PC Client user = 1: 2PC Client user = 1: 2

●● WEB Subscriber: WEB Visitor: PC Client subscriber = 1 : 2 : 6 WEB Subscriber: WEB Visitor: PC Client subscriber = 1 : 2 : 6

●● Activity user per dayActivity user per day•• User activity happens for 11 hours a dayUser activity happens for 11 hours a day

•• Peak time load = 250 % higherPeak time load = 250 % higher

Calculation user activity per second Calculation user activity per second (**(**필요시필요시 접속접속 유지유지 시간시간 고려할고려할 수도수도 있음있음))

●● Daily Users Daily Users == SubscriberSubscriber * * PC Client activity user per day (6.70%)PC Client activity user per day (6.70%)

●● Hourly Users Hourly Users == Daily Users / Daily Users / 11 hours11 hours (User activity duration a day)(User activity duration a day)

●● Minutely Users Minutely Users == Hourly Users / 60 minutesHourly Users / 60 minutes

●● Secondly Users Secondly Users == Minutely Users / 60 secondsMinutely Users / 60 seconds

●● Peak time Users Peak time Users == User per sec * peak time loadUser per sec * peak time load

Expected Transaction per SecondExpected Transaction per Second

●● Peak time TPS Peak time TPS = Peak time users * Hit ratio= Peak time users * Hit ratio

User 1 500,000 1,000,000 1,500,000 2,000,000

Per Day 0.06700 33,500.000 67,000.000 100,500.000 134,000.000

Per Sec 0.00000 0.846 1.692 2.538 3.384

Per Busy Sec 0.00000 2.115 4.230 6.345 8.460

17Number of Slide l

3.2 Resources to be required

Active user, Concurrent user (= Active user * Think time)Active user, Concurrent user (= Active user * Think time)

Transaction informationTransaction information

●● Transaction response timeTransaction response time

●● TPS (passed transactions per second)TPS (passed transactions per second)

●● Transaction success rate in Transaction success rate in 3 seconds3 seconds: Should be over : Should be over 99.98%99.98%

System resourceSystem resource

●● CPU : Should be under CPU : Should be under 70%70%

●● Memory usage rate : Should be under Memory usage rate : Should be under 80%80%

Database resource (Oracle 9i)Database resource (Oracle 9i)

●● The number of Connection: Should be covered the maximum The number of Connection: Should be covered the maximum

concurrent userconcurrent user

●● EnqueueEnqueue Waits: Should be under Waits: Should be under 2,000,0002,000,000

●● The Ratio of Buffer Cache hit : Should be more than The Ratio of Buffer Cache hit : Should be more than 60%60%

●● The Ratio of Memory Sort : Should be above The Ratio of Memory Sort : Should be above 90%90%

●● The Ratio of Index Utilization : Should be under The Ratio of Index Utilization : Should be under 10%10%

18Number of Slide l

3.3 Pre-requisites

성능성능 테스트테스트 전전 완료되어완료되어

야야 할할 작업작업 확인확인 기술기술

●● NetworkNetwork

•• Network BandwidthNetwork Bandwidth

•• Network CardNetwork Card

•• Maintenance WindowMaintenance Window

●● System InformationSystem Information

•• ConfigurationsConfigurations

•• Process and Process and CronCron tab infotab info

•• Software SPECSoftware SPEC

•• Initial system resource Initial system resource

usage rateusage rate

•• Load BalancingLoad Balancing

●● ApplicationApplication

•• Fake Data (Fake Data (테스트테스트 데이터데이터))

•• 기능별기능별 작업작업 완료률완료률

•• Link Link 정보정보 및및 Log Log 정보정보

•• Simulator Simulator 종류종류, , 실행경로실행경로

ID Condition Owner Due Date Result

Netw

ork

Network bandwidth should be guaranteed minimum 100Mbps between the target systems and load generator systems.

System list and the login ID/password(Input this information on chapter 4.1)

The maximum connection number to Database (DB connection pool number)(Input this information on chapter 4.3)

User accounts for all servers are needed to for running “prtdiag”, “top” or “netstat”command for checking system information and processes.

Put 500,000 subscribers in the DB sequentially

Prepare 100,000 contents at least

Process list with % development completion(Input this information on chapter 4.4)

Log path for checking the result of a transaction(Input this information on chapter 4.4)

Application

Fake Data

System Inform

ation

19Number of Slide l

4. The Result

4.1 Transaction4.1 Transaction

4.2 System Resource4.2 System Resource

4.3 Database4.3 Database

4.4 System Performance Level4.4 System Performance Level

20Number of Slide l

4.1 Transaction

성능에성능에 가장가장 많은많은 영향을영향을 주는주는 것은것은 Application Application 프로그램임프로그램임

성능성능 테스트테스트 대상은대상은 사용자가사용자가 많이많이 사용하는사용하는 UIUI가가 대상이대상이 되며되며 관관

리자리자 페이지는페이지는 제외됨제외됨

측정된측정된 결과를결과를 통해통해 튜닝튜닝 기준은기준은 성공적인성공적인 TPS (3TPS (3초초 이내의이내의

Transaction per Second) Transaction per Second) 대비대비 응답시간이응답시간이 높은높은 순서로순서로 진행됨진행됨

아래아래 표에서표에서 ‘‘SongsSongs’’ 트랜잭션의트랜잭션의 성공율이성공율이 낮음으로낮음으로 원인원인 분석분석

PC Client Response Time (second) Transaction

Transaction Name TPS Min Mean Max Total In Time %

Authentication 4.454 0.046 0.389 23.438 16,036 16,001 99.78% 4.445

Purchase Songs 2.226 0.031 0.465 11.610 8,012 7,603 94.90% 2.112

Songs 2.225 0.781 2.926 78.062 8,011 23 0.29% 0.006

In Time TPS

21Number of Slide l

4.1 Transaction

Saturation PointSaturation Point가가 확인되면확인되면 해당해당 Active user Active user 수로수로 지속적으지속적으

로로 peak time peak time 동안동안 부하를부하를 발생시킨발생시킨 후후 응답응답 시간을시간을 측정한측정한 결결

과과

22Number of Slide l

4.2 System Resource

실제실제 성능성능 테스트테스트 과정에서과정에서 측정된측정된 결과결과

●● DBDB의의 초기값이초기값이 비정상적으로비정상적으로 높은높은 사용율을사용율을 보이는보이는 경우경우

●● 시스템시스템 Load balancing Load balancing 설정이설정이 잘못되어잘못되어 분산되지분산되지 않은않은 경우경우

MeasurementInitial Value (Average)

Minimum Average Maximum Recommend Result

CPU

Database 79.18 63.25 91.25 100 70% Fail

Search Engine 36.06 18.35 48.86 85.81 70% Need to monitor

Measurement Initial. Ave. Max. Recommend Result

CPU Utilization : (Search) 98 99.916 100 70% Need to check

CPU Utilization : (Search) 1 3.331 26.333 70% Pass

CPU Utilization : (DB) 7.833 24.339 59.222 70% Pass

CPU Utilization : (DB) 7.611 26.453 58.917 70% Pass

23Number of Slide l

4.2 System Resource

CPUCPU와와 TPS TPS 상관계수가상관계수가 11에에 가까울가까울

수록수록 정상적인정상적인 활동임활동임. . 오른쪽오른쪽 하하

단단 그림과그림과 같은같은 결과는결과는 시스템이시스템이

비정상적으로비정상적으로 튜닝튜닝 필요필요..

오른쪽오른쪽 그림은그림은 최대최대 6.4 TPS6.4 TPS까지까지

증가하다가증가하다가 CPU 77% CPU 77% 정도로정도로 여유여유

로운로운 상태에서상태에서 processprocess가가 hang hang 되되

는는 문제문제..

24Number of Slide l

4.3 Database

Database ServerDatabase Server

●● 데이터베이스데이터베이스 서버는서버는 지속적인지속적인 데이터데이터 저장과저장과 조회조회 서비스를서비스를 제공함제공함

●● 데이터베이스는데이터베이스는 웹웹 어플리케이션의어플리케이션의 성능을성능을 결정하는결정하는 가장가장 중요한중요한 요소임요소임

●● 웹웹 어플리케이션어플리케이션 서버가서버가 데이터베이스에게데이터베이스에게 요청할요청할 때때 권고하는권고하는 요청방법은요청방법은 여러여러 번번

의의 요청보다는요청보다는 한한 번의번의 요청요청 혹은혹은 요청요청 수를수를 줄이는줄이는 방법으로방법으로 처리처리

Connection poolConnection pool

●● Connection pool Connection pool 설정이설정이 잘못된잘못된 경우경우 심각한심각한 성능성능 저하유발저하유발

●● 성능성능 테스트테스트 수행시수행시 Connection Connection 수가수가 지속적으로지속적으로 증가한다면증가한다면 세션을세션을 종료하지종료하지 못함못함

●● Application DBApplication DB와와 Master DBMaster DB와의와의 상호상호 참조되는참조되는 정보정보 정확성정확성 검증검증

Measurement Minimum Average Maximum Recommend Result

enqueue waits(V$SYSSTAT1/RGRTEST1) (absolute) 38 38 38

enqueue timeouts(V$SYSSTAT1/RGRTEST1) (absolute 1,626 1,626 1,626

The number of Connection 43 45.93 47

The Ratio of Buffer Cache hit 74.52 74.57 74.64 Over 60% Pass

The Ratio of Index Utilization 1.34 1.48 1.52 Under 10% Pass

The Ratio of Memory Sort 99.999 99.999 99.999 Over 90% Pass

25Number of Slide l

4.4 System Performance Level

시스템시스템 용량용량 산정을산정을 위한위한 선형선형 회회

귀귀 모델모델 채택한채택한 성능성능 수준수준

●● 수학적수학적 모델모델

•• 선형선형 회귀회귀 분석분석 모델모델

−− 독립독립 변수변수 : : 분석분석 주기주기

−− 종속종속 변수변수 : Peak : Peak 시간대의시간대의 Max TPSMax TPS

●● 용량용량 산정산정 결과결과 < 선형 회귀 분석 모델 예 >

Requirements Subscriber 500,000 Peak time load 4.34

* Success rate: over 99.5%* Under the recommendation regarding system resource usage rate

Active user (Concurrent user) 1.2 Maximum 6

Performance Level 139,392 Maximum 464,640

Estimation the acceptable subscriber on

Production Server557,568 (* think time)

* This estimation will be satisfied under running the xxx Service only on Production

The Result on Staging Server

26Number of Slide l

5. Conclusion

5.1 Lessons learned5.1 Lessons learned

5.2 Summary5.2 Summary

27Number of Slide l

성능 테스트

5.1 Lessons learned

ProcessLog파일 목록 및 설치 경로

성능 수준(운영 통계 정보 기반)Top 10 Business Transaction

감시할 시스템 및 적정 수준

H/W SPEC, S/WConfiguration

System Architecture, Network

성능 시험 목적 및 범위

Contact point, R&RTest procedure, Test Scenario

Test Planning

Assumption

Test Environment

Application

성능 테스트 결과 분석-> 성능 수준 도출

Transaction, 응답시간, 자원 사용률, 동시사용자

성능성능 테스트테스트 활동활동

28Number of Slide l

System Architecture(시스템 최적화 확인)

System Architecture(시스템 최적화 확인)

5.2 Summary

●● 성능성능 테스트테스트 목표목표 및및 측정측정 항목항목

서비스 최대 TPS(응답시간 3초 이내의 transaction)

서비스 최대 TPS(응답시간 3초 이내의 transaction)동시 사용자

(Saturation Point)

동시 사용자(Saturation Point)

시스템 안정성(개편 전 시스템 기능과 성능 변동)

시스템 안정성(개편 전 시스템 기능과 성능 변동)

최대 수용 가능 사용자(시스템 증설 시점 결정)

최대 수용 가능 사용자(시스템 증설 시점 결정)

병목 지점 확인(다수의 사용자가 접속시 발생 이슈)

(시스템 자원 사용률 및 응답시간 확인)

병목 지점 확인(다수의 사용자가 접속시 발생 이슈)

(시스템 자원 사용률 및 응답시간 확인)

목표목표 수준수준 확인확인,,

성능성능 수준수준 예측예측

연동 시스템 구조/

시스템 사양

29Number of Slide l

5.2 Summary

제품제품 개발개발 단계단계::

●● 제품제품 요구요구 문서문서, , 계약서계약서, , 개발개발 정의정의 문서문서 또는또는 시스템시스템 사이징사이징 자료에서자료에서 제품이제품이

만족해야만족해야 할할 성능성능 수준을수준을 확인하고확인하고 그그 도출된도출된 수준을수준을 성공성공 기준으로기준으로 정의한다정의한다. .

주로주로 개발개발 초기에초기에 작성된작성된 시스템시스템 사이징사이징 자료를자료를 기반으로기반으로 그그 성능성능 수준을수준을 도출도출

하는하는 경우가경우가 많다많다..

제품이제품이 서비스되고서비스되고 있는있는 상태상태::

●● 제품제품 개발개발 단계의단계의 시스템시스템 사이징에사이징에 따른따른 성능성능 수준수준 정의는정의는 실제실제 서비스서비스 사용사용 패패

턴과턴과 많이많이 다를다를 수수 있다있다. . 따라서따라서 서비스가서비스가 직접직접 운영되었을운영되었을 때의때의 실제실제 측정된측정된

사용자사용자 패턴패턴 정보를정보를 수집하여수집하여 이이 정보를정보를 바탕으로바탕으로 트랜젹션을트랜젹션을 발생시켜발생시켜 현재현재 운운

영영 시스템의시스템의 증설증설 싯점을싯점을 확인하기확인하기 위해위해 수행된다수행된다..

서비스서비스 환경을환경을 변경하고자변경하고자 점검하는점검하는 단계단계::

●● 현재현재 운영운영 중인중인 시스템의시스템의 유지보수유지보수 비용의비용의 비효율성비효율성 및및 시스템에시스템에 큰큰 결함이결함이 발발

생되었을생되었을 때때, , 신규신규 로직로직 추가추가 및및 현재현재 서비스를서비스를 수행하고수행하고 있는있는 시스템을시스템을 다른다른

시스템으로시스템으로 대체할대체할 경우경우 현재의현재의 성능성능 수준을수준을 유지하면서유지하면서 시스템의시스템의 가용성과가용성과 안안

정성에정성에 문제가문제가 없는지없는지 확인하기확인하기 위해위해 수행된다수행된다. . 예를예를 들면들면, Oracle DB, Oracle DB에서에서

Memory DBMemory DB로로 변경하고자변경하고자 할할 때때 그그 변경에변경에 대한대한 영향력을영향력을 확인하기확인하기 위해위해 성능성능 테테

스트를스트를 수행한다수행한다..

감사합니다감사합니다..