$30 off During Our Annual Pro Sale. View Details »

サーバレスアーキテクチャのパフォーマンスチューニング

 サーバレスアーキテクチャのパフォーマンスチューニング

JAWS Festa 東海道 2016 の登壇資料です。

こちらもご参照ください → https://gs2.io/

Kazutomo Niwa

October 22, 2016
Tweet

More Decks by Kazutomo Niwa

Other Decks in Technology

Transcript

  1. αʔόϨεΞʔΩςΫνϟͷ
    ύϑΥʔϚϯενϡʔχϯά
    +"84 'FTUB ౦ւಓ

    (BNF4FSWFS4FSWJDFTגࣜձࣾ
    ୅දऔక໾ࣾ௕$&0୮Ӌ Ұஐ

    View Slide

  2. ࣗݾ঺հ
    (BNF4FSWFS4FSWJDFTגࣜձࣾ
    ೥݄೔૑ۀ
    ୅දऔక໾ࣾ௕$&0୮Ӌ ҰஐʢʹΘ ͔ͣͱ΋ʣ
    ೥ גࣜձࣾηΨೖࣾ
    ܞଳి࿩޲͚ήʔϜɾαʔό։ൃʹैࣄ
    ೥ ೚ఱಊגࣜձࣾೖࣾ
    ϙέϞϯɾϚϦΦΧʔτΛ͸͡Ίͱͨ͠
    ήʔϜαʔό։ൃɾӡ༻ʹैࣄ

    View Slide

  3. Game Server Services(GS2) とは
    εϚϗήʔϜ΍ϒϥ΢βήʔϜͷඞཁͱ͢Δػೳͷ͏ͪɺ
    • ϚονϝΠΩϯά
    • ϥϯΩϯά
    • ϝʔϧϘοΫεʢϓϨθϯτϘοΫεʣ
    • ελϛφ؅ཧ
    ͱ͍ͬͨɺΑ͋͘ΔػೳΛ .JDSP4FSWJDFTԽ͠ɺ
    4FSWFSMFTTͰઃܭɾ࣮૷͠ɺҰ࣌ؒ਺ԁʙͰར༻Ͱ͖Δͱ
    ͍͏"84ͷΑ͏ͳαʔϏεͰ͢ɻ

    View Slide

  4. ςʔϚ
    αʔόϨεΞʔΩςΫνϟͰઃܭͨ͠8αʔόͰ
    Ͳ͜·ͰϨΠςϯγΛݮΒ͢͜ͱ͕ग़དྷΔ͔ɻ
    Λ௥ٻ͢Δ͜ͱͰɺͲ͕͜ϘτϧωοΫʹͳΔͷ͔ΛৄΒ͔
    ʹ͠·͢ɻ

    View Slide

  5. ཁ݅
    • αʔόϨεΞʔΩςΫνϟ
    • "84Λ࢖͏
    • %#ͷ஋Λॻ͖׵͑ͨΓಡΈࠐΜͩΓ͢Δ
    • ಠࣗυϝΠϯ
    • )5514ʢͳΔ΂҆͘͘ͳΒΜ͚ʁʣ

    View Slide

  6. ΞʔΩςΫνϟ
    Amazon
    CloudFront
    ACM
    Amazon API
    Gateway
    AWS
    Lambda
    Amazon
    VPC
    Amazon
    RDS
    Amazon
    Route 53

    View Slide

  7. ϓϩάϥϜ

    View Slide

  8. ॳճΞΫηε࣌
    ճࢼߦɻ্ԼΛ੾Γࣺͯ ճ෼Λ࠾༻
    ɻ
    ฏۉ TFD
    தԝ஋TFD
    ճ໨Ҏ߱
    ฏۉ TFD
    தԝ஋TFD

    View Slide

  9. ඵ͸ͪΐͬͱʜ
    ճ໨ͷΞΫηε͸طʹىಈ͞ΕͨίϯςφΛ࢖͍·Θ͢ͷ
    Ͱɺൺֱతૣ͘Ԡ౴ͯ͘͠Ε·ͨ͠ɻ
    ճ໨ͷ NT͸৔߹ʹΑͬͯ͸·ͩڐ༰Ͱ͖Δ͔΋͠Ε
    ͳ͍͚ΕͲɺॳճͷ TFD͸ྲྀੴʹͪΐͬͱʜɻ

    View Slide

  10. 71$Λ૭͔Β౤ࣺ͛ͯΔ
    71$಺ͷ3%4ʹΞΫηε͍ͯ͠Δ͕ɺ71$ͷׂ౰͸&/*ͷ࡞
    ੒ͱׂ౰͕ඞཁͱͳΔͷͰɺ஗͍ɻ

    View Slide

  11. ΞʔΩςΫνϟ
    Amazon
    CloudFront
    ACM
    Amazon API
    Gateway
    AWS
    Lambda
    Amazon
    RDS
    Amazon
    Route 53

    View Slide

  12. ॳճΞΫηε࣌
    ฏۉ TFD
    தԝ஋TFD
    ʊਓਓਓਓਓਓਓਓਓਓਓਓʊ
    ʼ ͋Μ·มΘΒΜ͔ͬͨ ʻ
    ʉ:?:?:?:?:?:?:?:?:?:ʉ
    ͜ͷ͋ͱग़ͯ͘Δ+BWBͷ7.ىಈͱ
    &/*ͷׂ౰͕ฒྻͰಈ͍ͯΔ͔Β͔΋

    View Slide

  13. ηΩϡϦςΟతʹʜ
    -BNCEBͷ*1ΞυϨε͸ݻఆͰ͖ͳ͍ɻ
    .Z42-ͷύεϫʔυೝূ͚ͩͰ͸ͪΐͬͱෆ͔҆΋ɻ

    View Slide

  14. ΞʔΩςΫνϟ
    Amazon
    CloudFront
    ACM
    Amazon API
    Gateway
    AWS
    Lambda
    Amazon
    DynamoDB
    Amazon
    Route 53

    View Slide

  15. ϓϩάϥϜ

    View Slide

  16. ॳճΞΫηε࣌
    ฏۉ TFD
    தԝ஋ TFD
    %ZOBNP%# ʹͨ͜͠ͱͰɺ஗͘ͳͬͯ͠·ͬͨɻ
    ͜Ε͸ "844%,ͷॳظԽॲཧ͕ॏ͕͔͔ͯ࣌ؒ͘Δ͜ͱ
    ʹىҼ͍ͯ͠Δɻ
    ͳΜʹͯ͠΋ɺࠓͷ΍ΓํͰ͸ݫ͕͋͠͞Δɻ

    View Slide

  17. +BWBΛ૭͔Β౤ࣺ͛ͯΔ
    +BWB͸7.ͷىಈʹ͕͔͔࣌ؒΔɻͦͷͨΊɺॳճΞΫηε
    ࣌ʹ͕͔͔࣌ؒͬͯ͠·͏ɻ

    View Slide

  18. ΞʔΩςΫνϟ
    Amazon
    CloudFront
    ACM
    Amazon API
    Gateway
    AWS
    Lambda
    Amazon
    DynamoDB
    Amazon
    Route 53

    View Slide

  19. ϓϩάϥϜ

    View Slide

  20. ॳճΞΫηε࣌
    ฏۉ TFD
    தԝ஋ TFD
    ճ໨Ҏ߱
    ฏۉ TFD
    தԝ஋ TFD

    View Slide

  21. ॳճͰ΋ඵʹ
    1ZUIPOʹͨ͜͠ͱͰىಈͷΦʔόʔϔου͕ܹݮͯ͠ɺॳ
    ճΞΫηε࣌Ͱ΋ඵʹͳΓ·ͨ͠ɻ

    View Slide

  22. $MPVE'SPOU "$. Λ૭͔Β౤ࣺ͛ͯΔ
    4MBDLͷࣄྫ IUUQXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFTTFDVSFEBQJBDDFMFSBUJPO
    XJUIFOHJOFFSTGSPNBNB[PODMPVEGSPOUBOETMBDL 1

    ͷΑ͏ʹɺ୯ҰϦʔδϣ
    ϯͰϫʔϧυϫΠυʹαʔϏεΛల։͍ͯ͠Δ৔߹ɺւΛ௒
    ͑ΔΑ͏ͳέʔεͰɺ$MPVE'SPOUˠΦϦδϯ &$
    Ͱ"84
    ͷଠ͍όοΫϘʔϯʹΑΔߴ଎௨৴ʹΑΓϨΠςϯγ͕վળ
    ͢Δ͜ͱ͕͋Γ·͢ɻ
    ࠓճͷϢʔεέʔεͰ͸Ωϟογϡώοτ΋ظ଴͠·ͤΜ͠ɺ
    ϗοϓ਺͕૿͑Δ͜ͱʹΑΔϨΠςϯγ૿ͷѱӨڹ͕େ͖͍
    ͷͰɺ$MPVE'SPOU Λύʔδ͠·͢ɻ

    View Slide

  23. ΧελϜυϝΠϯΛઃఆ
    ͨͩ $MPVE'SPOU Λ֎͚ͩͩ͢ͱɺυϝΠϯ͕
    "1*(BUFXBZؙग़͠Ͱ͔ͬ͜ѱ͍ͷͰɺ-FUT`T &ODSZQUͰ
    औͬͨαʔόূ໌ॻΛ࢖ͬͯΧελϜυϝΠϯΛઃఆ͠·͢ɻ

    View Slide

  24. ΞʔΩςΫνϟ
    Amazon API
    Gateway
    AWS
    Lambda
    Amazon
    DynamoDB
    Amazon
    Route 53

    View Slide

  25. ॳճΞΫηε࣌
    ฏۉ TFD
    தԝ஋ TFD
    ճ໨Ҏ߱
    ฏۉ TFD
    தԝ஋ TFD

    View Slide

  26. ʙNT୹ॖ
    $MPVE'SPOU Λ֎ͨ͜͠ͱͰɺʙNT୹͘ͳΓ·͠
    ͨɻ
    "1*(BUFXBZ΋࣮ଶ͸ $MPVE'SPOUɻ
    ˠ$%/͕ஈߏ੒ʹɻ
    ˠΤοδϩʔέʔγϣϯ൑ఆ͕࢒೦ʹͳͬͯΔ͔΋ɻ

    View Slide

  27. "844%,ͷॳظԽΛ GVODUJPOͷ֎ʹ
    "84 4%,ͷॳظԽ͸ΘΓͱ͕͔͔࣌ؒΔͷͰɺΞΫηε͢
    Δ౓ʹ࣮ߦ͢ΔͷͰ͸ͳ͘ɺىಈ࣌ʹճ͚ͩ͢ΔΑ͏ʹ͢
    Δɻ
    ͜ΕͰɺճ໨Ҏ߱ͷԠ౴଎౓͕޲্͢Δɻ

    View Slide

  28. ϓϩάϥϜ

    View Slide

  29. ॳճΞΫηε࣌
    ฏۉ TFD
    தԝ஋ TFD
    ճ໨Ҏ߱
    ฏۉ TFD
    தԝ஋ TFD

    View Slide

  30. ʙNT୹ॖ
    "84 4%,ͷॳظԽΛϑΝϯΫγϣϯͷ࣮ߦຖʹߦΘͣɺॳ
    ճʹͷΈߦ͏Α͏ʹͨ͜͠ͱͰɺίϯςφͷ࢖͍ճ͚ͩ͠Ͱ
    ͳ͘ɺΫϥΠΞϯτΠϯελϯεͷ࢖͍ճ͠ͷޮՌͰճ໨
    Ҏ߱ͷॲཧ͕࣌ؒૣ͘ͳΓ·ͨ͠ɻ
    ॳճ·Ͱ଎͘ͳͬͯΔͷ͸ϛεςϦʔͰ͢ɻ
    GVODUJPOݺͼग़͠·Ͱ͸ϝϞϦׂΓ౰ͯྔʹΑΒͣϑϧύϫ
    ʔͰىಈͯ͘͠ΕͯΔʁ
    ʢࠓճ͸+BWB͸.#1ZUIPO͸.#ͱ͍͏࠷খαΠζͰܭଌ͍ͯ͠·͢ʣ

    View Slide

  31. ༨ஊ
    AWS
    Lambda
    Amazon
    DynamoDB
    AWS SDK

    View Slide

  32. ༨ஊ ϓϩάϥϜ

    View Slide

  33. ॳճΞΫηε࣌
    ฏۉ TFD
    தԝ஋ TFD
    ճ໨Ҏ߱
    ฏۉ TFD
    தԝ஋ TFD

    View Slide

  34. NTΛ੾Δ݁Ռʹʢ͕ͩɺ΋͸΍8αʔόͰ͸ͳ͍

    "1*(BUFXBZ΋࣮ଶ͸ $MPVE'SPOU ͳͷͰ
    ʢIUUQXXXTMJEFTIBSFOFULFJTVLFBXTMBNCEBBNB[POBQJHBUFXBZEFFQEJWF 1ʣ
    ɺ
    "1*(BUFXBZ΋ $MPVE'SPOU ͱಉ༷ͷ໰୊Λ๊͍͑ͯΔɻ
    ݁Ռɺ"1*(BUFXBZΛඈ͹͢͜ͱͰɺ͞Βʹ໿ʙ
    NTͷ୹ॖ͕Ͱ͖ͨɻ

    View Slide

  35. ·ͱΊ
    100ms ~ 200ms
    3000ms ~ 4000ms
    3000ms ~ 4000ms
    100ms 〜 300ms(割当メモリに左右)
    100ms ~ 200ms
    Amazon
    CloudFront
    Amazon API
    Gateway
    Elastic
    Network
    Interface
    "844%,
    ॳظԽ

    View Slide

  36. ·ͱΊ
    +BWB ͸ىಈ͕஗͍ɻ
    ˠىಈͨ͋͠ͱ͸ര଎ͩΑʂ࢖͑ͳ͍ࢠͩͱצҧ͍͠ͳ͍Ͱʂ
    $MPVE'SPOU ΛڬΉͱ஗͘ͳͬͨɻ
    ˠ"84͞Μɻ"1*(BUFXBZͰ"$.࢖͑ΔΑ͏ʹ͍ͯͩ͘͠͞ɻ
    $MPVE'SPOU Λൈ͍ͯߴ଎Խͯ͠΋ "1*(BUFXBZ͕ʜɻ
    ˠ"84͞ΜɻͳΜͱ͔ߴ଎Խ͍ͯͩ͘͠͞ɻ
    "844%,ͷ"1*ΫϥΠΞϯτΠϯελϯεੜ੒͸ҙ֎ͱ஗͍ɻ

    View Slide

  37. એ఻
    (4 Ͱ͸͜ͷΑ͏ͳɺαʔόϨεΞʔΩςΫνϟಛ༗ͷಛੑ
    Λ೺Ѳ্ͨ͠ͰύϑΥʔϚϯενϡʔχϯάΛ֤ॴͰߦͬͯ
    ͍·͢ɻ
    (4 Λར༻͢Δ͜ͱͰɺࣗ͝਎Ͱ͜ͷΑ͏ͳνϡʔχϯάΛ
    ߦΘͳͯ͘΋࠷దԽ͞ΕͨαʔϏεΛ͝ར༻͍͚ͨͩ·͢ɻ
    ੋඇɺ(4ͷ࠾༻΋͝ݕ౼͍ͩ͘͞ɻ

    View Slide

  38. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
    IUUQTHTJP
    ϕʔλςετࢀՃऀืूதʂ

    View Slide