데
데브시스터즈
February 28, 20211회
사전예약 서버 프로파일링으로 서버 병목찾아 개선하기

간단 소개
쿠키런 킹덤 시민권 발급 서버의 성능 개선 과정을 프로파일링 도구를 활용하여 분석하고 최적화한 사례 연구.
AI Summary
- 시민권 발급 이벤트 서버 성능 개선
- 쿠키런: 킹덤 사전예약 이벤트 중 시민권 발급 서비스 개발 과정 소개
- Node.js 기반 서버의 성능 테스트 및 linux perf를 이용한 프로파일링을 통해 병목 구간을 식별하고 개선
- 성능 개선 과정
- Artillery를 이용한 부하 테스트 결과, 초기 서버 성능은 2코어 CPU, 512MB 메모리 노드 9개로 10 RPS를 겨우 처리
- Node.js Profiler와 Linux Perf를 사용하여 node-canvas 라이브러리의 이미지 처리 과정에서 병목 발생 확인
- 이미지 리사이징 과정 최적화를 통해 bits_image_fetch_convolution_affine_reflect_a8r8g8b8 함수 호출 감소
- 개선 결과 및 결론
- 이미지 리사이징 최적화 후, 동일 환경에서 70 RPS까지 처리 가능하도록 성능 향상 (7배 증가)
- 요청 처리 시간도 1,400
1,600ms에서 700800ms로 감소 - Flamegraph 분석을 통해 개선 효과 시각적으로 확인
Next Feeds

CSS in JS 라이브러리에서 Typesafe하게 Theme 관리하기
CSS in JS 라이브러리 emotion과 Typescript를 사용하여 Typesafe하게 Theme를 관리하고 확장하는 방법을 제시합니다.
CSS in JSTypescriptThemeemotionReact Context API
2021. 2. 16.
데브시스터즈

두려움 없이 성장하는 뱅크샐러드
뱅크샐러드의 Fearlessness 문화를 바탕으로 테크 리드가 두려움을 극복하고 성장하는 과정을 소개합니다.
Fearlessness테크 리드두려움 극복조직 문화5 Whys 기법
2021. 2. 15.
뱅크샐러드

뱅크샐러드의 실험플랫폼 분석 인프라 살펴보기
뱅크샐러드의 실험 플랫폼 구축 과정과 자동화된 분석 인프라 구축을 통해 데이터 기반 의사결정 문화를 발전시킨 사례를 소개합니다.
A/B 테스트실험 플랫폼데이터 분석자동화인프라
2021. 2. 10.
뱅크샐러드

외부 서비스 장애가 전파되지 않게 하기 위한 한 가지 방법
외부 서비스 장애 전파 방지를 위해 AWS 람다를 이용, 이메일 전송 로직을 분리하여 안정성을 확보한 사례를 소개한다.
마이크로서비스AWS 람다센드그리드SNS이메일 전송
2021. 1. 27.
모두싸인
REST API 초고속 개발?! - Spring Data REST
Spring Data REST와 JPA를 활용하여 REST API를 초고속으로 개발하는 방법과 활용 팁, 그리고 사용 후기를 소개합니다.
Spring Data RESTREST APISpring Data JPAHATEOASRepository
2021. 1. 26.
카카오헤어샵

앱 개발파트의 업무프로세스 수립기
올리브영 앱 개발팀의 업무 프로세스 수립 과정을 담고 있으며, 코딩 컨벤션부터 배포 전략까지 전반적인 내용을 다룬다.
코딩 컨벤션MVVM 패턴시멘틱 버저닝CI/CDBitrise
2021. 1. 23.
올리브영