Throughput
: 처리량같은 시간 동안 더 많은 작업을 처리한다.
단위 시간 동안 처리할 수 있는 데이터나 작업의 양
일반적으로 단위 시간으로 초를, 처리할 작업으로 Transaction을 많이 사용하며 TPS(Transaction Per Second)라고 표현한다.
Transaction은 DB의 트랜잭션이 될 수도 있고 일반적으로 ‘특정 개체에 의한 atomic 한 액션’ 이라고 생각하면 된다.
- CPU : IPS(Instruction Per Second)
- Network: BPS(Byte Per Second)
- Storage: IOPS(Input/Output Per Second)
- Web Service: RPS(Request Per Second)
웹 서비스에서는 성능 측정을 위한 처리량의 단위로 ‘1초당 처리할 수 있는 HTTP request의 수(RPS)’를 많이 사용한다.
Latency
하나의 작업을 빠르게 처리한다.
서버의 관점에서 보면 클라이언트로부터 받은 요청을 처리하고 응답을 전송할 때까지 걸린 시간을 의미한다.
시스템 성능 확인 및 개선
우리가 웹 애플리케이션을 구성한다고 생각하면 3가지 부분 시스템으로 나뉜다고 보면 된다.
-> 전체 시스템 : 5000TPS(웹서버), 260ms(총 합)
그럼, 우리가 아는 지식으로 해결할 수 있는 부분을 생각해보자.
Throughput
의 병목이 되는 지점인 WAS를 scale out 할 수 있다.
WAS의 서비스 로직 코드 최적화, DB 쿼리 개선하여 Latency
를 줄일 수 있다.
Throughput
과 Latency
가 있다.