본문 바로가기

Testing

성능 테스트의 주요 개념

성능 테스트(Performance Test)

  • 시스템 개발 프로젝트의 종료가 다가오는 시점에 성능 테스트를 수행한다.
  • 성능 테스트를 수행하는 목적은 시스템의 오류 및 병목 구간을 사전에 발견하여 조치하고, 시스템이 허용할 수 있는 최대 사용자를 예상하여 안정성을 확인하는 데 있다.


트랜잭션(Transaction)

  • 웹 어플리케이션의 성능 테스트를 수행할 경우, HTTP Request/Response 또는 사용자의 화면 조작에 대한 결과 화면 표시가 하나의 트랜잭션이 될 수 있다.
  • 일반적으로 화면 조작을 통한 요청과 그에 대한 응답 화면을 하나의 트랜잭션으로 정의하여 사용한다. 즉, 일정한 단위 업무별, 기능별로 트랜잭션을 정의하여 성능을 측정한다.


TPS(Transaction Per Second)

  • 1초에 시스템이 처리할 수 있는 트랜잭션의 수를 의미하는 TPS가 성능 테스트의 중요한 지표로 사용된다.
  • 시스템의 특정 기능에 대한 성능을 측정한 결과, 30 TPS가 나왔다면, 1초에 30개의 트랜잭션을 처리할 수 있다는 의미이다.
  • 이는 1분에 1800개(30 TPS × 60초)의 트랜잭션을 처리할 수 있다는 것이고, 1시간에 108000개(30 TPS × 60초 × 60분)의 트랜잭션을 처리할 수 있다는 것과 같다. 


  • 1 TPS = 60 TPM = 3600 TPH

- TPS(Transaction Per Second) : 1초에 처리 가능한 트랜잭션의 수

- TPM(Transaction Per Minute) : 1분에 처리 가능한 트랜잭션의 수

- TPH(Transaction Per Hour) : 1시간에 처리 가능한 트랜잭션의 수


응답시간(Response Time)

  • 요청에 대한 응답이 올 때까지 걸리는 시간이다. 
  • 웹 어플리케이션에서는 일반적으로 3초의 응답시간을 기준으로 한다.
  • 의미 있는 응답시간의 통계치는 평균 응답시간과, 90th 응답시간으로 보는데, 90th 응답시간은 90%의 사용자가 얻을 수 있는 응답시간이라고 볼 수 있으므로, 중요한 응답시간 지표가 된다.
  • 성능 테스트 수행 시, TPS가 더 이상 증가하지 않으면, 응답시간은 그 때부터 증가한다.
  • 서버의 개수를 늘린다고 해서 응답시간이 빨라지지는 않으며, 처리 가능한 트랜잭션의 수만 증가한다.
  • 성능 테스트에서 가장 중요시 하는 지표는 TPS와 응답시간이다.


'Testing' 카테고리의 다른 글

성능 테스트의 종류  (0) 2012.04.12