Closed pyo92 closed 5 months ago
이번 PR 은 프로젝트의 가장 핵심 기능이라고 할 수 있는 구매 대행의 속도 개선 작업이다.
사실 기존 로직 자체가 엄청나게 문제가 있었던 부분은 아니다. 로컬에서 docker-compose container 에 올려 테스트해 봤을 때, 각 기능별 1초 정도 소요된다.
free tier 정책상 t2.micro 라는 인프라적 한계로 인해, 각 기능별 대략 20초 정도 소요됐다. 하나의 container 라도 덜어보려고, db 를 aws rds 로 전환했으나 영향은 미미했다. 그래서 결국 극한의 최적화가 필요했다.
최적화를 통해 상당히 체감이 많이 될 정도로 빨라졌다. 원래는 이 정도로 최적화가 됐으면, free tier 임을 감안해서 여기까지 하려고 했었다.
하지만, 실무 경험을 위해서 sns 와 sqs 를 이용한 msa 구조로 분리해보려고 한다.
아래는 단계별 소요 시간을 점검했던 내용이다.
(0) 기존에는 worst case 로 로그인만 26초가 소요됐다.
(1) chrome driver 옵션만 최적화 했을 때의 결과이다. 절반 가까이 줄었다.
(2) 1번 + 로직 최적화(method 분리 등)의 결과이다. 기존보다 절반 넘게 줄었다.
(3) 1번 + 2번 + docker 옵션 최적화의 결과이다. 거의 1/4로 줄었다. 👍 👍 👍
이번 PR 은 프로젝트의 가장 핵심 기능이라고 할 수 있는 구매 대행의 속도 개선 작업이다.
사실 기존 로직 자체가 엄청나게 문제가 있었던 부분은 아니다. 로컬에서 docker-compose container 에 올려 테스트해 봤을 때, 각 기능별 1초 정도 소요된다.
free tier 정책상 t2.micro 라는 인프라적 한계로 인해, 각 기능별 대략 20초 정도 소요됐다. 하나의 container 라도 덜어보려고, db 를 aws rds 로 전환했으나 영향은 미미했다. 그래서 결국 극한의 최적화가 필요했다.
최적화를 통해 상당히 체감이 많이 될 정도로 빨라졌다. 원래는 이 정도로 최적화가 됐으면, free tier 임을 감안해서 여기까지 하려고 했었다.
하지만, 실무 경험을 위해서 sns 와 sqs 를 이용한 msa 구조로 분리해보려고 한다.
아래는 단계별 소요 시간을 점검했던 내용이다.
(0) 기존에는 worst case 로 로그인만 26초가 소요됐다.
(1) chrome driver 옵션만 최적화 했을 때의 결과이다. 절반 가까이 줄었다.
(2) 1번 + 로직 최적화(method 분리 등)의 결과이다. 기존보다 절반 넘게 줄었다.
(3) 1번 + 2번 + docker 옵션 최적화의 결과이다. 거의 1/4로 줄었다. 👍 👍 👍