1. 시스템 유지보수 및 성능 고도화 지원

조직 변경으로 기존 프로젝트팀에서 유지보수 팀으로 이전하게 되면서 구축된 고객사에 추가개발을 진행하거나 모니터링 및 프로파일링을 통해 성능 고도화를 진행하였습니다.

프로젝트팀에서는 신규로 개발을 진행하며 DB 설계, 전체 프로세스 최적화 등 개발 시에 확장 가능한 아키텍처를 적용할 수 있었고 팀 변경 이후에는 대량의 데이터를 쌓아온 고객사들의 Database를 모니터링하고 기존 레거시 코드들을 수정 및 튜닝하면서 사용자 경험을 보다 증진하기 위한 방법을 경험할 수 있었습니다.

레거시한 코드들에서 데이터 정합성이 떨어져 문제가 발생하는 경우가 많았고 확인된 내용의 대부분은 올바르지 않게 사용된 트랜잭션 격리 수준과 예외처리였습니다. 데이터를 저장하는 프로세스상 동일한 테이블에서 데이터를 수집하여 집계하는 테이블에서는 Uncommitted로 읽어와 더티 읽기가 발생하게 되었고 이에 따라 연동된 두 테이블의 데이터가 일치하지 않는 문제가 발생하여 지속가능한 문제 해결을 위해 주기적으로 팀원들에게 교육을 진행하였습니다.

또한 성능 고도화를 위한 기본적인 튜닝 이론 및 규칙을 공유 및 전파하고 전체 최적화를 위한 신입 사원 개발 교육을 진행하였으며 신입으로 들어왔을 때 최대한의 퍼포먼스를 낼 수 있도록 자주 사용되는 스크립트를 표준화하여 지속 배포하였습니다.

대표적인 문제 해결 내역은 아래와 같습니다.