이번 글에선, 간단하게 성능 지표관련된 지표 2가지를 알아보겠다.
Throughput:
시간당 처리량을 의미한다 흔히 TPS라고도 불리며, 초당 처리하는 단위 작업, 혹은 HTTP 요청들으로 해석할 수 도 있다.
TPS: 초당 완료되는 트랜잭션의 수. 많은 작업을 동시에 처리할 수 있는 동시성에 관한 성능을 나타낸다.
Latency
하나의 패킷이 출발지에서 도착지까지 걸리는 시간이다.
사용자의 체감 시간과 관련되어있다.
각 지표가 실제 성능에 미치는 영향
ThroughPut
위와 같이, DB, WAS의 성능을 개선하더라도, 웹서버의 ThroughPut이 그대로라면, 여전히 500이라는 TPS에 제한이 걸리는
병목현상이 발생한다.
따라서 맹목적인 성능 향상도 좋지만, 이와 같은 Critical Path를 찾고, 가장 적은 ThrougPut을 가지는 영역을 개선해서
병목현상을 줄이는 것이 가장 중요한 일이다.
Latency
latency를 개선하기 위해서 고려할 요소들은 굉장히 많다.
- 하드웨어의 처리 성능 개선
- 향상된 애플리케이션 로직
- 쿼리 인덱스 구성 등을 통한 query Optimization
- 캐싱
등 다양한 원인으로 작업의 Latency가 발생할 수 있다.
ThroughPut과 달리, 각각의 Latency저하는 전체 서비스의 Latency 저하로 이어지기에, Latenct를 최대한 개선하는 것이 정답이다.
'back-end study' 카테고리의 다른 글
백엔드 개발자로써 최적화를 위해 고려할 사항들 (0) | 2023.08.03 |
---|---|
[Optimization] 캐싱(caching)을 통한 성능 개선 분석 (0) | 2023.08.03 |
HTTP 클라이언트- Apache HttpClient VS OkHttpClient VS Spring WebClient (0) | 2023.06.15 |
WebClient 이론 및 사용법 (0) | 2023.06.08 |
Blocking / Non-blocking 과 Sync / Async 의 차이 (0) | 2023.06.08 |