컬
컬리
September 6, 20201회
신규 서비스 배포 전에 실험과 개선을 반복한 이야기

간단 소개
컬리 VSMS팀의 신규 서비스 배포 전 성능 테스트 및 개선 과정을 통해 데드락 해결, DB IO 최적화, TPS 향상 경험을 공유합니다.
AI Summary
- VSMS 성능 개선 여정
- 컬리 VSMS 팀은 신규 서비스 배포 전 성능 테스트를 통해 데드락, DB IO 병목 등의 문제점을 발견하고 해결했습니다.
- 목표 TPS 1200을 달성하기 위해 성능 테스트를 반복하며 개선했습니다.
- 데드락 해결 및 DB IO 최적화
- 트랜잭션 내 상품 차감 순서 정렬을 통해 데드락을 해결하고, DB 커밋 횟수를 줄여 TPS를 향상시켰습니다.
- MongoDB로 로그 데이터를 분리하여 메인 DB 커넥션 점유율을 낮추고 성능을 개선했습니다.
- 리팩토링 및 최종 결과
- 리팩토링 전후 성능 비교 테스트를 통해 코드 개선 방향을 결정하고, 최종적으로 1500 TPS 이상을 달성했습니다.
- 성능 테스트를 통해 기본에 충실한 코드의 중요성을 깨닫고, 협업의 가치를 확인했습니다.
Next Feeds

컬리에서 선물하기를 개발하며 회고
컬리의 선물하기 서비스 개발 여정: 레거시 시스템 극복, 마이크로서비스 아키텍처 도입, 데이터 동기화, 분산 서버 구조 등을 통해 성공적인 론칭과 시스템 개선을 이룸.
선물하기레거시 시스템마이크로서비스데이터 동기화아키텍처
2020. 9. 2.
컬리

Istio와 Spinnaker를 활용한 Blue-Green + Canary 자동 배포 전략 도입기
Istio, Spinnaker를 활용한 Blue-Green + Canary 자동 배포 전략 도입으로 배포 효율성과 안정성을 향상시킨 사례를 소개합니다.
IstioSpinnakerBlue-GreenCanary자동 배포
2020. 8. 19.
데브시스터즈

Banksalad Product Language를 소개합니다
뱅크샐러드의 UI 디자인 및 개발 효율성을 높이는 BPL(Banksalad Product Language) 구축 과정과 iOS 구현 사례를 소개합니다.
BPL디자인 시스템UI 개발협업Figma
2020. 8. 14.
뱅크샐러드

안드로이드 11의 "패키지 공개 상태" 변경 사항 정리
안드로이드 11의 패키지 공개 상태 변경 사항과 이에 따른 앱 호환성 확보를 위한 API 테스트 결과 및 대응 방안을 제시합니다.
안드로이드 11패키지 공개 상태AndroidManifestQUERY_ALL_PACKAGESAPI
2020. 8. 5.
버즈빌

React 이해하기
React의 기본 개념, 선언형 UI, State 관리, Hook을 사용한 함수형 컴포넌트 등 React의 핵심 내용을 간략하게 설명합니다.
React컴포넌트JSXHook선언형
2020. 7. 9.
컬리

JPA 덕분에 DB에서 삽질한 이야기
JPA 환경에서 UUID를 ID로 사용할 때 겪은 DB 조회 문제 해결 과정을 분석하고, 원인이 컬럼 속성 길이와 MySQL의 RPAD 특성에 있음을 밝힙니다.
JPAUUIDDB 조회RPADBINARY
2020. 7. 5.
컬리