본문으로 이동
GraalVM 도입으로 JVM 백엔드 애플리케이션의 구동 초기 성능 문제 해결하기 / if(kakaoAI)2024
컨퍼런스

GraalVM 도입으로 JVM 백엔드 애플리케이션의 구동 초기 성능 문제 해결하기 / if(kakaoAI)2024

if kakao 카카오 · YouTube

원문 보기

AI 핵심 요약

JVM의 JIT 컴파일은 충분히 웜업되기 전까지 응답이 느리고 CPU 사용량이 높아, 배포 때 트래픽을 단계적으로 전환해야 하는 문제가 있었습니다. 카카오톡 푸시 게이트웨이를 GraalVM Native Image로 포팅하면서 테스트를 보강하고, 지원 라이브러리로 교체했으며, Tracing Agent로 Reachability Metadata를 수집하는 빌드 파이프라인을 구성했습니다. 벤치마크에서 네이티브 앱은 기동 시간이 3.76초에서 0.1초로 줄고 초기 응답이 안정적이었으며, PGO를 적용하면 처리량도 HotSpot에 가까워졌고 트래픽 즉시 전환 시 CPU 급증이 줄었습니다. 반면 메타데이터 유지와 라이브러리 호환성 확인이 필요하고 빌드 시간이 늘어나는 만큼, 초기 성능과 운영 단순화의 이점이 이러한 비용을 상쇄하는지 따져야 합니다.

  • 네이티브 이미지에서 리플렉션이나 동적 클래스 로딩을 쓰려면 필요한 항목을 GraalVM Reachability Metadata로 명시해야 합니다.
  • Tracing Agent로 애플리케이션과 테스트를 실행해 동적 기능 사용 정보를 수집하면 메타데이터 작성 부담을 줄일 수 있습니다.
  • 런타임 프로파일 기반 최적화(PGO)는 네이티브 이미지의 처리량을 높일 수 있지만, 실제 트래픽에 가까운 프로파일 데이터를 확보하는 과정이 까다롭습니다.
  • 도입 전 GC 지원 여부와 라이브러리 호환성을 확인하고, 메타데이터 수집 및 네이티브 빌드로 늘어나는 빌드 시간도 고려해야 합니다.

소개

GraalVM에 대해 소개하고, Java로 네이티브 애플리케이션을 개발하기 위한 GraalVM의 요구사항들을 설명합니다. GraalVM 도입 전후의 성능을 벤치마크하고 비교합니다. GraalVM으로 초기 성능 웜업 문제를 해결함으로써 얻은 운영상의 이점과 인사이트를 공유합니다. #GraalVM #JAVA #성능최적화 #애플리케이션최적화 카카오톡 톡서버플랫폼에서 백엔드 개발을 하고 있는 Nathan입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-84 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

비슷한 학습 자료

컨퍼런스 if kakao

숏폼, 휘발성 컨텐츠 서비스인 “카카오톡 펑” 개발 과정을 소개합니다. 성능 최적화, 비디오/이미지 데이터 처리 등을 위한 경험을 공유합니다. #카카오톡펑 #개발기 #최적화전략 #실시간데이터 카카오톡 플랫폼 개발하는 Ocean입니다. 카카오톡 플랫폼을 개발하는 Hoodie입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-87 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

웹 개발 백엔드

컨퍼런스 if kakao

유명한 Airbnb MVI프레임워크과 슬랙사의 Circuit을 카카오T와 픽커앱에 접목시킨 재미난 개발기와 presentation layer에서 겪었던 상태 관리 프레임워크 적용기를 소개합니다. 카카오T픽커 android 공통개발을 담당하고 있는 Roy입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-54 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

모바일 앱 개발

컨퍼런스 if kakao

애플리케이션 성능 모니터링과 애플리케이션 성능 측정 코드 추가에 필요한 주요 개념을 설명합니다. 더불어 Python 애플리케이션의 성능을 자동으로 계측하는 Python Agent 개발 과정에서 마주한 도전 과제들을 공유하며, Agent의 아키텍처에 대해 소개합니다. #monitoring #apm 카카오의 모니터링 시스템 MATRIX에서 APM, TRACING 라인업을 개발하고 있는 Allen입니다. OpenTelemetry, Clymene 오픈소스의 Contributor로 활동하고 있습니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-43 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

백엔드 데브옵스 · 인프라

컨퍼런스 if kakao

LLM 서빙하기 / if(kakaoAI)2024

컨퍼런스 if kakao

LLM 서빙 프레임워크 도입 경험과 프레임워크 성능 최적화 기술을 쉽게 설명합니다. #LLM 서빙 프레임워크 카카오페이 선행기술개발TF팀에서 AI 서비스를 개발하고 있는 Ari입니다. 카카오페이 선행기술개발TF팀에서 금융관련 모델을 개발하고 있는 Kyou입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-20 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

데브옵스 · 인프라 딥러닝 · 머신러닝

컨퍼런스 if kakao

JVM warm up / if(kakao)2022

컨퍼런스 if kakao

Java 어플리케이션은 시작과정에서 성능을 보장하기 위한 warm up 과정이 필요합니다. 이 세션에서는 JVM warm up이 성능에 어떻게 도움이 되는지 그리고 이와 관련된 jit comipler의 내부 절차를 소개합니다. 또한 카카오 T 계정 서버를 배포하는 과정에서 발생한 초기 응답 지연 문제를 어떻게 해결하였는지를 함께 말씀드리려고 합니다. #성능 카카오모빌리티에서 백엔드엔지니어 역할을 맡고 있는 그렉입니다. 저는 주로 Python으로 개발하는 것을 좋아하는데요, 최근에는 Java를 활용한 백엔드 개발과 React를 활용한 프론트엔드 개발에도 관심이 많습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-35 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기...

백엔드 프로그래밍 언어

컨퍼런스 if kakao

수 천만 건 이상의 대량 배치처리를 하기 위한 최고의 노하우를 전달드리겠습니다. 카카오페이 정산플랫폼팀은 카카오페이의 빠른 성장과 더불어 늘어나는 데이터를 일괄처리하기 위하여 꾸준히 노력 하고 있습니다. 더 많은 데이터를 처리하기 위해 진화하는 서비스와 개발방식을 소개하고자 합니다. #BatchPerformance #SpringBatch #SpringCloudDataFlow #Kubernetes #Redis 카카오페이 정산플랫폼팀 베니입니다. 서버 Performance 개선에 관심이 많습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-065 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 데이터베이스 데브옵스 · 인프라