kingsjw

Software Engineer

  • Profile
  • Tech
  • Movie
  • Travel

클래스101 성능 최적화 프로젝트 참여 회고

프로젝트 설명

사측의 병역특례 관리 문제로 산업 기능 요원들은 2달간 기존과 다른 공간에서 다른 업무를 다른 팀원들과 맡게 되었다.

그와 동시에 클래스 101 서비스의 최초 로딩이 느려 첫 랜딩 시 유저 이탈율 비율 꾸준히 높아지고 있는 문제가 있었다.

다른 팀원들이 모두 같은 공간에 모이게 된 기회에 약 4주 동안 우리는 겁나빠른클원이라는 단기 프로젝트를 만들어 성능 문제를 개선하고자 했다.

내가 했던 액션

  • 사용하지 않는 js 제거
  • Third party script defer loading & async executing

성과

당시 입사 2주 차, 원래 커머스 팀이었던 나는 주로 어드민 서비스 업무 파악을 한 상태였다.

클래스 101 웹 서비스에 대해선 파악이 거의 되지 않은 상태였다.

이 프로젝트를 통해 클래스 101 어드민 서비스가 아닌 유저와 가장 맞닿아 있는 클래스 101 웹 서비스에 대해 조금이나마 파악할 수 있었다.

큰 규모의 서비스에서의 성능 최적화 경험을 할 수 있었다.

아쉬웠던 점

내가 했던 액션들은 눈에 보이는 성능 개선 효과가 가져오지 못했던 것이다.

어떤 액션이 임팩트가 있었나?

우리는 web vaital과 data dog을 사용해 성능 개선의 지표로 활용했다.

프로젝트를 진행하며 가장 큰 원인으로 지목되었던 bundle size였다

동료 팀원이 Next.js에서 사용하고 있는 webpack 설정 중 Granular chunk를 도입해 bundle size를 최적화를 시도했는데 이 액션이 수치적으로 가장 큰 개선 효과가 있었다.

이 부분은 이 글에 자세히 정리되어있다.

Copyright © 2019 All Right 서재우

kingsjw7@gmail.com . GitHub . Blog . Repository