본문 바로가기

IT 살이/03. 관리 - 성능 관리

성능 튜닝 프로세스 개념도

성능 모니터링 솔루션을 도입할 계획이다. 모니터링 시스템을 도입하면서 시스템의 성능 튜닝 작업도 함께 계획하고 있다. 아직 성능 튜닝 작업은 진행해 본 적이 없어서 우선 개념부터 잡고 가야 할 듯 하다. 자료들을 모아서 성능 튜닝 프로세스를 정리해보니 아래 그림처럼 될 듯 싶다. 




■ 성능 엔지니어링

시스템의 목표 성능( 응답 시간과 동시 접속자수)을 정의하고 이를 달성하기 위해서 시스템의 구조를 반복적으로 개선하는 작업

분석->설계->개발->운영->모니터링 단계별 수행 작업이 정의되어 있음. 


우선 최초에 시스템이 도입될 당시에는 시스템 용량을 먼저 산정해서 "안정된 상태"로 시작했을 것이다. 그림의 아래 부분에 해당한다. 달봉이 전문이 아닌 관계로 매우 개략적으로 그렸다. 


■ 시스템 용량 산정


성능 목표 값(응답시간, 동시접속자수) 설정

--> 이 목표 값과 제공되는 공식을 이용해서 Required TPS 계산

-->Required TPS를 기준으로 업체에서 제공하는 제품별 성능 테이블 Reference TPS  참조( 보수적 판단 필요 )

-->서버 제품 및 용량 선택

-->어플리케이션에 대한 성능 테스트로 목표치 검증.
   .어플리케이션 최적화 상태 유지

   . 성능 테스트(부하 생성)

   . 성능 측정 

   . 성능 목표치와 비교

http://docs.oracle.com/cd/E13222_01/wls/docs81/capplan/capgen.html


 성능 튜닝


시간이 흘러서 시스템이 커지고, 보안등이 강화되면서 성능상의 문제가 생길 수 있다. 이때 성능 튜닝이 필요할 수 있다. 성능 튜닝은 하드웨어 시스템 용량을 개선하려는 작업이기보다는 현재의 하드웨어 환경에서 소프트웨어의 병목 또는 개선의 여지가 있는 부분( 어플리케이션 프로그램, 환경설정 등)을 찾는 과정이 먼저여야 하지 않을까 생각한다.어플리케이션 프로그램, 설정등의 변경과 튜닝의 반복 작업을 하는 과정에서 previous 성능치와의 비교를 통해서 성능을 개선해 나가는 과정이 먼저 필요할 것이다. 만약 소프트웨어(어플리케이션, 환경설정) 차원의 반복 개선 작업을 통해서도 시스템의 성능이 향상되지 않는다면 H/W업그레이드 작업이 있을 수 있을 것이다. 


테스트수행( 또는 모니터링) ->결과 분석 ->개선( 튜닝) ->테스트 수행( 또는 모니터링)                                                    

                                             -> Measured TPS 계산 -> previous Measured TPS와 비교-> H/W업그레이드


다른 의견, 잘못된 부분에 대한 코멘트 환영합니다.