개발일기
동기 비동기
시원한봄유성
5월 4일·2026년 5월 4일 오후 11:24
940
파일을 하나 올리고 완료되면 다음 파일을 올리는 식이라, 파일 수가 늘어날수록 전체 처리 시간이 선형으로 증가했다. 파일이 몇 개 안 될 때는 몰랐는데, 대량으로 업로드하는 시나리오에서는 체감상 너무 오래 걸렸다. 기다리는 동안 다른 작업도 블로킹되는 구조라 UX 측면에서도 좋지 않았다.
각 파일 업로드 작업이 이전 작업의 완료를 기다려야만 다음으로 넘어가는 순차 처리였기 때문에, 네트워크 I/O 대기 시간이 그대로 총 소요 시간에 쌓였다.
비동기 방식으로 전환한 뒤 결과는 확실했다. 여러 파일 업로드를 동시에 처리하도록 바꾸자 대량 업로드가 3~4초 안에 완료됐다. 병렬로 요청이 나가니 I/O 대기 시간이 겹치면서 전체 시간이 대폭 줄어든 것이다.
다만 비동기 전환만으로 끝이라고 생각하진 않는다. 작업하면서 AI가 PageUpload 관련 다양한 처리 방식 중 하나를 추천해줬는데, 정확히 어떤 방식인지 아직 완전히 이해하지 못했다. Presigned URL 방식이나 멀티파트 업로드, 청크 분할 처리 등 대용량 파일 업로드를 최적화하는 방법이 여러 가지 있다는 걸 알게 됐고, 각 방식의 트레이드오프를 제대로 공부해서 현재 구조에 뭐가 더 맞는지 따져봐야겠다.
댓글
댓글을 입력하세요...
댓글이 없습니다.
