Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for kakao kakao
November 01, 2024

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

#GraalVM #JAVA #성능최적화 #애플리케이션최적화

GraalVM에 대해 소개하고, Java로 네이티브 애플리케이션을 개발하기 위한 GraalVM의 요구사항들을 설명합니다. GraalVM 도입 전후의 성능을 벤치마크하고 비교합니다. GraalVM으로 초기 성능 웜업 문제를 해결함으로써 얻은 운영상의 이점과 인사이트를 공유합니다.

발표자 : nathan.k
카카오톡 톡서버플랫폼에서 백엔드 개발을 하고 있는 네이슨입니다.

Avatar for kakao

kakao

November 01, 2024
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1.  +7. +BWB7JSUVBM.BDIJOF ਷+*5 +VTU - *O - 5JNF ஹ౵ੌ۽ز੘ೣ

    
 ೐۽Ӓ۔ਸप೯ೞݶ ࠺۽ࣗӝ҅য௏٘ܳࢤࢿ 
 प೯ജ҃ ۠ఋ੐೐۽౵ੌ੿ࠁ؋࠙ীҕѺ੸ੋ୭੸ചоמೣݒ਋ࡅܴ 
 Ӓ۞աҳز૒റࢿמ਷ݒ਋աࢄ +7.੄ୡӝࢿמޙઁ
  2.  (SBBM7.਷+7.জਸ"05 "IFBE - 0G - 5JNF ۽ஹ౵ੌೡࣻ੓ѱ೧ળ׮ 
 ҳز૒റࢿמ਷+*5ਵ۽ز੘ೞח)PUTQPUࠁ׮঑ب੸ਵ۽ࡅܰ׮

    
 ׮݅۠ఋ੐ജ҃ীࢲ৮੹൤୭੸ചػ)PUTQPUࠁ׮חוܻ׮ (SBBM7.  0SBDMF t(SBBM7.#SBOE3FTPVSDFT uIUUQT XXXHSBBMWNPSHHSBBMWN - CSBOE - HVJEFMJOFT 
  3. fun main(args: Array<String>) { val objectMapper = jacksonObjectMapper() val friend

    = objectMapper.readValue<KakaoFriend>("{\"name\":\"choonsik\"}") } data class KakaoFriend(val name: String) 
 +BDLTPO3F fl FDUJPO Exception in thread "main" com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.kakao.Main$KakaoFriend`: 
 cannot deserialize from Object value (no delegate- or property-based Creator): this appears to be a native image, in which case you may need to configure reflection for the class that is to be deserialized +TPO 9.- :.-١੄૒۳ച৉૒۳ചܳҳࢿ೧઱ח+BDLTPO 
 +BDLTPO਷DMBTT੄೐۽ಌ౭ী੽Ӕೞӝਤ೧SF fl FDUJPOਸࢎਊೠ׮
  4.  ز੸੄ઓࢿٜਸ੹ࠗஹ౵ੌఋ੐ী੿੄ೡࣻ੓׮ݶ 
 ª੹ࠗ੿੸௏٘۽޷ܻٜ݅যࢲࠢৈ઱Ҋ ஹ౵ੌѾҗޛীನೣغب۾ъઁೠ׮ݶ  
 (SBBM7.ী೙ਃೠ3FBDIBCJMJUZ.FUBEBUBܳઁҕ೧઱ݶػ׮  (SBBM7.੉ઁҕೞח5SBDJOH"HFOU

    
 5SBDJOH"HFOUо੸ਊػ࢚క۽)PUTQPU+7.জਸप೯ೞݶজ੉ઙܐؼٸө૑ 
 ߊࢤೠݽٚ࠺ݺद੸੄ઓࢿਸ୶੸೧ࢲ 3FBDIBCJMJUZ.FUBEBUB۽ٜ݅যળ׮ ز੸੉঻؍۽૒ٜਸࢎ੹੿੄ػ۽૒ਵ۽߄Բӝ
  5. ↟ (SBBM7./BUJWF۽ஹ౵ੌоמ೧૓1VTI(BUFXBZܳ 
 )PUTQPU+7. (SBBM7./BUJWF۽ппप೯೮ਸٸ߮஖݃௼ܳ૓೯ ↟ ӝزदр "1*୊ܻ۝ "1*਽׹दр ߓನद$16૑಴߸ച١ਸஏ੿

    ↟ "1*৬োҙػ߮஖݃௼ٜ਷  
 1VTI(BUFXBZ੄"1*઺о੢࠼ߣೞѱࢎਊغחѐ"1*ܳ؀࢚ਵ۽૓೯ ߮஖݃௼ ࢎղ߮஖݃௼بҳ 
 झۨ٘ѐ۽ࣽରഐ୹ 1VTI(BUFXBZ ׮ܲࢲ࠺झ੄"1* ׮ܲࢲ࠺झ੄"1* ࣽରഐ୹
  6. জӝز૒റ਽׹दр ծਸࣻ۾જ਺ &OWJSPONFOU 
 
 /PEFTQFD 
 $16DPSFT +7.)FBQ(J# 


    
 )PUTQPU 
 &DMJQTF5FNVSJOĄ0QFO+%,+3& 
 
 (SBBM7. 
 0SBDMF(SBBM7.
  7. জӝز૒റ਽׹दр ծਸࣻ۾જ਺ &OWJSPONFOU 
 
 /PEFTQFD 
 $16DPSFT +7.)FBQ(J# 


    
 )PUTQPU 
 &DMJQTF5FNVSJOĄ0QFO+%,+3& 
 
 (SBBM7. 
 0SBDMF(SBBM7.
  8. 514࠺Ү &OWJSPONFOU 
 
 /PEFTQFD 
 $16DPSFT +7.)FBQ(J# 
 


    )PUTQPU 
 &DMJQTF5FNVSJOĄ0QFO+%,+3& 
 
 (SBBM7. 
 0SBDMF(SBBM7. 514 514 ର੉ ֫ਸࣻ۾જ਺
  9. 1SP fi MF - (VJEFE0QUJNJ[BUJPOT 1(0ஏ੿ਊਵ۽ஹ౵ੌ पઁ౟ې೗PSपઁীоө਍౟ې೗ ೐۽౵ੌ੉߮౟ؘ੉ఠ 
 QSP

    fi MFJQSPG (SBBM7.OBUJWF - JNBHF$PNQJMFS (SBBM7.OBUJWF - JNBHF$PNQJMFS 1(0੸ਊೞৈஹ౵ੌ ೐۽౵ੌ݂ҙ۲௏ٜ٘੉ٜযоࢲוܻҊޖѢ਑ ࡅܴ  0SBDMF t(SBBM7.$PNNVOJUZ.BTDPU uIUUQT XXXHSBBMWNPSHHSBBMWN - CSBOE - HVJEFMJOFTNBTDPU  - QHP - JOTUSVNFOU  - QHPQSP fi MFJQSPG  
  10. 514࠺Ү XJUI1(0 &OWJSPONFOU 
 
 /PEFTQFD 
 $16DPSFT +BWB)FBQ(J# 


    
 )PUTQPU 
 &DMJQTF5FNVSJOĄ0QFO+%,+3& 
 
 (SBBM7. 
 0SBDMF(SBBM7. 514 514 ର੉ ֫ਸࣻ۾જ਺
  11.  4IFOBOEPBI($ ;($޷૑ਗ 
 4FSJBM($ (($݅૑ਗೠ׮ 
  3FBDIBCJMJUZ.FUBEBUBҙܻࠗ׸ 


    పझ౟ӝ߈ਵ۽3FBDIBCJMJUZ.FUBEBUBܳ୶୹ೞҊ੓׮ݶ 
 పझ౟ܳੜޅҙܻ೮׮ח੉ਬ۽೐۽؋࣌੉ݎо૕ࣻ੓׮ ইए਍੼ ૓ੑ੢߷
  12.  וܽ࠽٘ 
 ࠽٘दр੉ߓоө੉ૐо 3FDIBCJMJUZ.FUBEBUB୶୹ ஹ౵ੌஹೊ౴ࠗೞ 
  ݽٚۄ੉࠳۞ܻоੜز੘ೞחѤইש 


    FH,PUMJO+7. (SBBM7./BUJWFઑ೤ীࢲز੘ೞחNPDLۄ੉࠳۞ܻоহ׮  
  1(0੸ਊ੉դ೧ೣ 
 1(0೐۽౵ੌ୶୹ਸਤ೧ࢲ؊וܽੋझఢझী पઁ౟ې೗पઁীоө਍౟ې೗ਸైੑ೧ঠೞחؘj 
 ߓನ਍৔࢚ীࢲࠗ׸ਵ۽੘ਊೠ׮ ইए਍੼ ૓ੑ੢߷
  13. 2"