Latency VS Throughput
Latency : 요청자의 입장에서 완료까지 얼마나 걸리는가
Throughput : 작업자의 입장에서 시간 당 얼마나 처리하는가
위 이미지는 wrk 도구로 서버의 성능 측정한 이미지인데, 윗쪽 부분에선 10명의 접속자가 5초동안 request 했을 때 결과로
request당 Latency 11.27ms로 응답을 받은 것을 확인할 수 있다.
그리고 1초에 885개의 request를 처리한 것이 확인 가능하다.
밑에는 동일한 조건으로 100명이 요청했을 때 결과이고 lateny는 약 10배 증가한 104.20ms, 1초에 949.28 request 처리했음을 확인 가능하다.
wrk2에서는 위 이미지의 wrk1과 다르게 1초당 request 횟수도 설정하여 테스트 할 수 있다.
API 서버를 빠르게 개선하는 방법?
1. 서버 대수를 늘린다.
- 부하가 걸리는 노드를 스케일 아웃하거나 스케일 업 하면 된다.
2. 코드를 효율화한다.
- 웹 서버 영역 : 효율적인 쿼리 작성, 알고리즘 개선
- DB 영역 : 적절한 DB 인덱스 추가나, Denormalization
정리
서버 성능을 나타내는 지표는 다양하며 정답은 없다
성능 측정 시 몇 명의 사용자가 어느 정도의 밀도로 API 요청할 때 서버의 응답속도 분포는 의 형태가 현실적이다.
'MSA > MSA관련기술' 카테고리의 다른 글
kafka 설치 & 환경구성 (0) | 2022.12.02 |
---|---|
Redis 환경설정 방법 (0) | 2022.11.29 |
도커 및 도커 컴포즈 정리 (1) | 2022.11.10 |
MSA 정리 (1) | 2022.10.14 |
msa 관련 도커 명령어 저장 (1) | 2022.10.06 |
댓글