SPRING

[SPRING] - 비동기 처리 도입으로 대량주문 시간 단축

boudle 2024. 8. 30. 11:35

비동기 처리 도입을 통해 대량 주문 처리 시간이 획기적으로 단축되었습니다.

 

ExecutorService없이 Redis만 사용한 코드 

 

기존의 동기식 방식에서는 각 주문을 순차적으로 처리하였고, 이는 총 100,000개의 주문을 생성하는 데 54890ms시간이 소요되었습니다.

 

반면, 이번 테스트에서는 Java의 ExecutorService를 추가하여 주문 생성을 비동기 방식으로 수행함으로써 성능 최적화를 시도하였습니다.

 

Redis + ExecutorService 추가한 코드

 

 

테스트 결과

비동기 처리를 사용한 방식은 전체적으로 더 나은 성능을 보였으며, 테스트 결과 총 100,000개의 주문을 처리하는 데 걸린 시간은 기존 방식에 비해 절반으로 줄어들었습니다. 이는 서버의 효율적인 리소스 사용을 가능하게 했으며, 많은 양의 주문을 더 빠르고 안정적으로 처리할 수 있는 기반을 마련했습니다.