실무로배우는시스템성능최적화...

24
실실실 실실실 실실실 실실 실실실 Ch1. 실실 실실 실실실 Cecil

Upload: hyeonseok-choi

Post on 15-Apr-2017

331 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 실무로배우는시스템성능최적화 Ch1

실무로 배우는시스템 성능 최적화Ch1. 성능 기초

아꿈사Cecil

Page 2: 실무로배우는시스템성능최적화 Ch1

•성능이란 ?•성능 특성•성능 이론•성능 테스트

Page 3: 실무로배우는시스템성능최적화 Ch1

1.1 성능이란 ?

Page 4: 실무로배우는시스템성능최적화 Ch1

•시간당 처리량•주요 영향 요인

•응답 시간•동시에 처리할 수 있는 프로세스 수

•고객의 업무 특성과 아키텍처에 따라 다름

Page 5: 실무로배우는시스템성능최적화 Ch1

동시 사용자

시스템에 접속을 유지하고 있는 사용자요청 사용자 + 비 요청 사용자

Page 6: 실무로배우는시스템성능최적화 Ch1

처리량

일정 시간 내에 처리한 트랜잭션의 양 (TPS)실행 주체에 따라 트랜잭션이 다름

(ex: API 서버일 경우 API 호출 횟수 )

Page 7: 실무로배우는시스템성능최적화 Ch1

응답 시간

성능 개선을 위해서는 처리 시간 세분화가 필요

Page 8: 실무로배우는시스템성능최적화 Ch1

백분율 응답 시간 그래프

• 사용자중 일정 비율은 제시된 시간에 응답을 받는 것을 확인• 예외적인 상황에서 응답 시간을 성능평가에서 제외할 목적

Page 9: 실무로배우는시스템성능최적화 Ch1

자원자원은 사용량 변화에 따라 성능에 영향을 미치는 요소

적정성 , 효율성 , 안정성 , 가용성 , 확장성을 기준으로 평가

Page 10: 실무로배우는시스템성능최적화 Ch1

1.2 성능 특성

Page 11: 실무로배우는시스템성능최적화 Ch1

성능 곡선

자원에 대한 경합 발생 구간시스템의한계 상황

Page 12: 실무로배우는시스템성능최적화 Ch1

성능에 대한 이해•업무와 시스템 특성에 따라 다름•모든 경우에 적용할 수 있는 응답 기준은 없음•동시 사용자 수가 시스템 성능을 의미하지는 않음•시스템 성능은 비용과 수익으로 평가가 가능

Page 13: 실무로배우는시스템성능최적화 Ch1

1.3 성능 이론

Page 14: 실무로배우는시스템성능최적화 Ch1

서비스 요청 간격 = 응답 시간 + 생각 시간동시 사용자 수 = 요청 사용자 수 + 비 요청 사용자 수

Page 15: 실무로배우는시스템성능최적화 Ch1

리틀의 법칙처리량 (TPS) = 서비스 처리 건수 / 측정 시간( 초 ) = 요청 사용자 수 / 평균 응답시간( 초 ) = 동시 사용자 수 / 서비스 요청 간격 ( 초 )

Page 16: 실무로배우는시스템성능최적화 Ch1

• 시간당 1,000,000 건의 카드 승인을 처리하는 시스템•1,000,000 / 3,600 = 278 TPS

•요청 사용자수 100 명 , 평균 응답시간 2 초•100 / 2 = 50 TPS

•동시 사용자수 3000 명 , 평균 30 초 마다 입력•3,000 / 30 = 100 TPS( 이정도의 처리량이

필요 )

Page 17: 실무로배우는시스템성능최적화 Ch1

• 요청 사용자 수 = 동시 사용자 수 * ( 평균 응답시간 / 서비스 요청 간격 )

= 동시 사용자 수 * ( 평균 응답시간 / ( 평균 응답시간 + 생각 시간 )

• 평균 응답시간 = ( 동시 사용자 수 / 처리량 ) - 생각시간 ex) 동시 사용자가 600 명일때 처리량이 20TPS, 응답시간이 3초라면 - 평균 응답시간 : (600 /20) - 3 = 27 초 .

Page 18: 실무로배우는시스템성능최적화 Ch1

사용률 이론서비스 시간과 처리량을 기반으로 자원 사용률을 계산단일 자원 사용율 = 사용 시간 / 측정 시간

- 처리량 = 서비스 건수 / 측정 시간 => 측정 시간 = 서비스 건수 / 처리량

- 서비스 시간 = 사용 시간 / 서비스 건수 => 사용 시간 = 서비스 건수 * 서비스 시간

- 즉 , 단일 자용 사용율 = 처리량 * 서비스 시간 ex) CPU 가 초당 100 개씩 처리 , 1 개 처리하는데 1.5ms 소요할 경우 사용율 : 100 * 0.0015 = 15%

Page 19: 실무로배우는시스템성능최적화 Ch1

비율 분석A 블록과 B 블록의 전체 처리량 = 요청 사용자수 / (A 응답시간 + B 응답시간 ) = 1 / ((1 / A 처리량 ) + (1 / B 처리량 )

업무 서비스 요청 비율을 고려 할 경우 = 1 / ((A 요청 비율 / A 처리량 ) + (B 요청 비율 / B 처리량 )ex) A: 20TPS 초당 15 개 요청 발생 , B: 20TPS 초당 5 개 요청 발생 전체 처리량 = 1 / (0.75/20 + 0.25/200) = 25.8 TPS

Page 20: 실무로배우는시스템성능최적화 Ch1

1.4 성능 테스트

Page 21: 실무로배우는시스템성능최적화 Ch1

성능 테스트 유형

성능 , 과부하 , 안정성 , 최적화 ,

가용성 , 실사용자 , 벤치마크 , 파일럿

Page 22: 실무로배우는시스템성능최적화 Ch1

성능 테스트 구성 요소

부하 모델 , 업무 시나리오 , 테스트 데이터 ,

적용 부하 , 테스트 환경 , 평가 기준 , 측정 항목 ,

부하 발생기 , 가상 사용자 , 테스트 스크립트

Page 23: 실무로배우는시스템성능최적화 Ch1

성능 테스트 시 주의 사항• 테스트 데이터

• 운영과 동일한 다양성을 갖추고 , 동일한 양을 가지고 테스트• 화면 처리 시간

• 성능 테스트와 별도로 중요 화면에 대한 응답시간을 확인• 네트워크

• 실제 사용자가 어디에 위치할 것인지 확인• 가상 사용자 특성

• 가상 사용자와 실 사용자가 다른 패턴을 보이는 경우가 있음• 업무 시나리오

• 실제 시나리오를 가장한 테스트가 필요 (ex: 배치 작업 수행중 )

• 성능 테스트는 오픈 전까지 지속적으로 이루어져야 함

Page 24: 실무로배우는시스템성능최적화 Ch1

References

•권문수 . 실무로 배우는 시스템 성능 최적화 . 경기도 파주시 위키 북스 , 2016.