어떤 노력 했고 어떤 성능개선 했는지..
성능을 고려한 개발의 중요성
성능 개선 앞둔 분에게 도움
성능을 고려한 개발의 중요성
- 8년 가까이 되는 레거시 채용 솔루션 프로젝트 개발팀에 투입
- 성능 고려하지 않은 레거시 코드의 축적
솔루션 전반적인 성능 개선 임무
곡객사들의 성능 문제로 인한 페인 포인트 분석
레거시 프로젝트의 성능 저하 요인들
- 너무 많은 데이터베이스 쿼리 요청
- 나도 모르게 성능을 느리게 하는 비즈니스 로직 외의 로직
대량의 지원자 CRUD 성능 개선
- 단건 insert문을 반복문으로 처리 ⇒ 만번의 insert 쿼리 수행
⇒ bulk insert 쿼리로 만 명의 데이터 저장
→ 이런 간단한 성능 개선 방식도 실제 프로젝트에서는 바로 적용하기 힘든 경우가 많다.
- 특히 레거시 코드는 그렇게 간단하게 작성되어 있지 않다
- 대량의 인서트 로직이 있다면 연관된 테이블 저장하는 로직을 원자성 있고 플랫하게 만듦. → 연관 되어 타고 들어가는 로직을 한 depth로 플랫하게 만듦.
- 원자성있고 플랫하게 만듦으로서 수백배 빠르게 만듦.