AI Briefing

사전예약 서버 프로파일링으로 서버 병목 찾아 개선하기

·2021.02.28 09:00

쿠키런:킹덤 사전예약 서비스의 이미지 생성 병목을 해결하기 위해 Artillery와 Linux perf를 활용해 서버를 프로파일링했다.

쿠키런:킹덤 사전예약의 시민권 발급 이벤트는 수조 개의 조합이 가능한 쿠키 이미지를 실시간으로 생성하여 제공하는 서비스였다. 하지만 이미지 생성 과정에서 막대한 리소스가 소모되는 문제가 발생했다.

Artillery를 이용한 부하 테스트 결과, 2코어 CPU와 512MB 메모리를 가진 노드 9개로도 초당 10 RPS를 처리하기 어려울 만큼 성능이 저조했다. 요청당 처리 시간은 약 1,400~1,600ms에 달했다.

병목 지점을 찾기 위해 Chrome Inspector로 프로파일링을 진행했으나, node-canvas 라이브러리가 사용하는 Cairo 백엔드와 같은 로우레벨 C 코드 영역의 상세 분석에는 한계가 있었다.

이를 해결하고자 Docker 컨테이너 환경에서 Linux perf를 사용하여 더 깊은 단계의 프로파일링을 시도하며 C 레벨의 병목 구간을 추적했다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.