성능이란?

성능이라 하면 무엇이 생각나는가?

그냥 컴퓨터, 스마트폰을 생각하면 간단하다.

성능은 Input 대비 Output이 훌륭한가이다.

그렇다면 시스템 성능이란?

시간단 처리량이다. 

시스템 성능에 영향을 미치는 요소는 응답시간과 동시에 처리할 수 있는 프로세스의 수다.

왜 시스템 성능을 개선시키려고 하는가?

간단히 엄청나게 좋은 슈퍼컴퓨터를 쓰면 된다.

하지만 기업에서 그렇게 하겠느냐? 그냥 최대한 돈을 아끼고 우리를 짜내면서 성능을 닥달한다..

그러니 낮은 성능으로 시스템 성능을 개선시켜야 한다. ㅋㅋ

 

그러면 성능을 평가하는 요소는 무엇인가?

크게 4가지 동시 사용자, 처리량, 응답시간, 자원 이 있다.

1. 동시사용자 

일반적으로 동시사용자라하면, 시스템에 접속해 있는 사용자 수 라고 판단할 수 있다. 하지마 시스템 입장에서는 시스템에 트랜잭션(부하, 작업)을 일으키는 사용자 라고 해석도 할 수 있다. 그럼 뭐가 맞는거야? 라고 생각할 수 있다. 답은 없다.  걍 쉽게 동시 사용자 수 = (트랜잭션 유발)요청 사용자 수 + 비요청 사용자 수   이렇게 생각하자.

2. 처리량 

처리량은 일정 시간 내 처리한 트랜잭션이다. 그런데 일정 시간이라는 기준이 모호하다. 그렇다면 어떻게 기준을 정해야할 것인가? 그래서 PPS, HPS로 나뉜다.

PPS ( Page Per Second ) : (화면)페이지 단위의 트랜잭션 평가 기준으로 웹 성능을 분석할 때 많이 사용한다.

HPS ( Hit Per Second ) : 웹 서버에서의 이미지, CSS, 스크립트, JSP, ASP 등 모든 컴퍼넌트는 별개의 요청으로 구성되며 이들 각각을 1개의 Hit 라 한다. 

3. 응답시간

응답시간이란 요청->응답 까지의 시간이다.  크게 사용자가 하나의 액션(이벤트)를 취하고, 이에 대한 결과를 받기까지의 시간을 말한다. 하지만 세부적으로 본다면 4개로 나눌 수 있다.

클라이언트 응답시간 : 위에 설명한 우리가 흔히 알고 있는 일반적인 고객이 화면에서 액션(요청)을 취하고 이에 대해 화면에서 응답을 받기까지의 시간이다.

네트워크 응답시간 : 사용자의 요청이 클라이언트의 네트워크에서 전송된 후부터 응답이 클라이언트의 네트워크에 도착하기까지의 경과된 시간 ( 세분화하면 DNS LOOKUP 시간과 서비스 업로드/다운로드에 소요된 네트워크 시간 그리고 서버 응답 시간으로 구분된다. ) 

서버 응답시간 : 서버에서 사용자 요청을 받은 후부터 처리 후 결과를 내보내는 데 까지의 시간 ( 엑세스 로그, 애플리케이션 서버 로그, apm 기반으로 측정되는 경우 )

연계 응답시간 : 외부 타 시스템과 연계하여 처리할 경우, 외부 서버에 요청을 보내어 응답을 받기까지의 경과된 시간

실 사용자 입장인 클라이언트 응답시간으로 측정하는게 일반적이다.

4. 자원

성능에서 자원은 다양한 시스템의 구성 요소를지칭하는 포과절 용어이다.

서버의 CPU, 메모리, 디스크, 쓰레드 풀, DB 컨넥션 풀,캐시 메모리 등 ... 물리적 서버의 자원에서부터 시스템 소프트웨어의 설정값에 이르기 까지 다양한 자원이 있다.

 

4.1 적정성(Suitablility)

현재 자원의 사용량 가지고 기준 목표치를 달성했는지 부족했는지 여부를 확인하는 것이다.

자원이 부족한 경우, 경합과 대기가 발생하여 성능이 저하되므로 자원을 늘려주어야하는게 일반적이다. 하지만 다른 영향으로 인한 문제가 있을 수 있으므로... 정확한 판단이 중요하다.

4.2 효율성 (Efficiency)

효율성의 목적은 더 적은 시스템 자원을 들여, 수행 시간을 줄이는데 있다. TPS, Response Time, 사용 자원량 등이 효율성의 평가 기준 중 하나이다. 비용에 직접적 영향을 미치는 요소로 벤치마크 테스트와 같은 성능 비교 평가에서는 중요 평가지표가 된다.

'공부 > 시스템성능' 카테고리의 다른 글

성능 테스트 공부를 시작하며  (0) 2019.11.06

오늘부터 시스템 성능테스트를 공부해볼려고 한다.

SM업무를 하며... 아무도 시스템 모니터링 방법, 유지보수 방법, 성능을 이끄는 방법 등을 알려주지 않았다.

누가 알려주길 바랬던 내가 도둑놈이다.

내가 요즘 미치도록 바빠지면서 느낀건 알려주고 싶어도 알려줄 시간이 없다.

어느 누가 본인이 야근을 하면서 남에게 알려주랴

그래서 내가 공부를 하고 간단히 정리해서 이 블로그에 적을까 한다.

SM 업무가 뭐 같지만 일단 뭐같다고 피하면 되겠느냐

내 일이니 제대로 알고... 좀 시스템다운 시스템 만들고 떠나야하지 않겠느냐 생각한다.

그리고 공부 좀 하고 내용 정리해서 후배들에게도 전해주고 싶다.

내가 너무 힘드니 

다른 사람들도 이런 힘들 절차를 거치지 않도록

그래 공부부터 하자 뭣도 모르는 녀석이 알려줄 생각부터 하다니

이제 시작하겠다.

'공부 > 시스템성능' 카테고리의 다른 글

1.성능이란?  (0) 2019.11.06

+ Recent posts