<aside> 💡 Redis Single Thread
</aside>
표본 수 | 평균 | 최소값 | 최대값 | 표준편차 | 오류(%) | 처리량 |
---|---|---|---|---|---|---|
5000 | 2283 | 80 | 4464 | 1031.078 | 0 | 193.91042 |
1초에 1000번의 요청을 5번 실행
최소 80, 최대 4464, 최대 2283의 시간(ms)이 소요됨
<aside> 💡 SQS
</aside>
표본 수 | 평균 | 최소값 | 최대값 | 표준편차 | 오류 % | 처리량 |
---|---|---|---|---|---|---|
5000 | 541.75 | 27 | 1451 | 150.5425 | 0 | 722 |
동일하게 1초에 1000개의 요청을 5번 실행
최소 27, 최대 1451의 시간(ms)이 걸렸으며 전체 평균은 541.75
Redis 방식에 비해 시간이 약 76% 정도 감소하는 효과를 볼 수 있었음.
<aside> 💡 결론
</aside>
Redis 방식은 Redis에서 재고를 관리하기에 Redis에서 재고를 가져와 감소하고 DB에 저장하는 과정을 거쳐 Redis 통신 및 데이터 접근 횟수가 많아 시간이 오래 걸렸음. 또한 기존에 사용했던 방식은 요청-응답 과정을 거쳐야 하기에 지연 시간이 발생했음
하지만 SQS는 발생한 요청을 먼저 메세지로 큐에 전송하고 서버에서는 비동기적으로 큐에서 메세지를 수신해 처리하기 때문에 굉장히 빠른 처리 시간을 보였고 DB에 직접 접근하여 처리하기 때문에 상대적으로 빠른 처리가 가능했음.