<aside>
💡 API 서버 성능이 좋다는 것은?
: 많은 사람이 사용해도 API 응답 시간이 짧고 안정적이다.
</aside>
- 얼마나 많은 사람? 몇 초면 짧은 걸까? 안정적인 건 뭘까?
Latency vs Throughput
- Latency: 요청자의 입장에서 완료까지 얼마나 걸리는가
- Latency가 높다 → 고속도로 제한속도가 높아서 자동차들이 빠르게 지나갈 수 있다
- Throughput: 작업자의 입장에서 시간 당 얼마나 처리하는가
- Throughput이 높다 → 고속도로의 제한속도와는 상관없이, 도로 폭이 넓어서 통과할 수 있는 차량의 수가 많다
사용 툴: wrk, 사용 언어: python
MongoDB에 저장된 더미 유저 100명 중 1을 랜덤하게 뽑아서 그 사람의 id와 name 값을 return 해주는 간단한 서버

두 개의 다른 조건을 설정하여 테스트 해보았다.
- 10개의 connection을 만들고 d(=duration) 5초 동안 request를 하게 한다
- 테스트 결과는 Latency가 평균 11.27ms
- 10명의 동시 접속자가 계속 request를 하는데, 평균적으로 10ms 안에 랜덤하게 뽑힌 유저의 정보를 받아보았다는 이야기
- 종합해서 1초에 885개의 request를 처리했다
- 1의 10배인 100명이 요청하면 어떻게 되는가?
- 테스트 결과는 Latency가 평균 104ms정도로 → 약 10배
- 이 때 서버가 1초 당 949의 request를 처리했다

--latencty
라는 명령어를 사용하여 더 자세한 Latency 결과를 확인
- 전체 100명이 요청한 것 중에
- 전체의 50%는 평균 103ms
- 전체의 90%는 평균 115ms
- 전체의 99%는 평균 127ms