Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

Yappi로 Python에서도 성능을 챙겨보자

NAVER D2 faviconNAVER D2·Backend·
PythonYappiFastAPIRedisProtobuf
2025년 06월 26일2

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

NAVER D2는 Yappi를 활용해 FastAPI 서버 병목을 찾아내고 직렬화 최적화와 비동기 호출 정리를 통해 응답 시간을 약 60% 줄이고 리소스 사용을 약 65% 감소시켰다.

구현 방법

  • FastAPI에 Yappi ProfileMiddleware를 적용해 멀티스레드 프로파일링과 결과 저장
  • ORJsonResponse로 교체해 불필요한 jsonable_encoder 제거
  • asyncio.gather의 호출 그래프 단절에 주의하고 필요 시 순차 await로 교정

주요 결과

  • 평균 응답 시간 44ms → 14ms(약 60%), p99 87ms → 37ms
  • 필요한 CPU 코어 272→96, 인스턴스 17대→6대
  • 리소스 사용 약 65% 감소

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
사전예약 서버 프로파일링으로 서버 병목찾아 개선하기 섬네일
73%

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

데브시스터즈 favicon데브시스터즈·2021년 02월 28일
대용량 트래픽을 견디는 서버 만들기 — Rust 기반 게이트웨이 구축 섬네일
72%

대용량 트래픽을 견디는 서버 만들기 — Rust 기반 게이트웨이 구축

크리에이트립 favicon크리에이트립·2025년 04월 10일
파트너오피스 리뉴얼, 왜 우리는 리팩터링을 하였는가? 섬네일
71%

파트너오피스 리뉴얼, 왜 우리는 리팩터링을 하였는가?

올리브영 favicon올리브영·2023년 12월 28일