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

KAYAC 社内ISUCON 2017、複数台構成の顛末

KAYAC 社内ISUCON 2017、複数台構成の顛末

KAYAC 社内の技術部勉強会で新卒研修の社内ISUCONで先輩チームに課せられた複数台構成レギュレーションの解法について解説したときの資料です

acidlemon

May 19, 2017
Tweet

More Decks by acidlemon

Other Decks in Technology

Transcript

  1. ࣾ಺*46$0/
    ෳ਺୆ߏ੒ͷహ຤
    !BDJEMFNPO

    View Slide

  2. ࠓ೥ͷϨΪϡϨʔγϣϯ
    w ຖ೥ઌഐνʔϜ͕࣮ྗΛݟ͚͍ͤͭͯΔͷͰɺ

    ͨ·ʹ͸ઌഐνʔϜʹϋϯσΛ͚ͭΑ͏ͱࢥͬͨ
    w ৽ଔνʔϜίΞY୆
    w ઌഐνʔϜίΞY୆
    w ͨͩ͠ɺϕϯν͔͔Δλʔήοτ*1͸71$ͷ
    1SJWBUF*1ݸ͚ͩ

    View Slide

  3. ݁࿦ઌഐ͕΍ͬͯ΋
    ෳ਺୆͸஍ࠈ

    View Slide

  4. ࣮ࡍͷεϖοΫ
    w ৽ଔνʔϜDYMBSHF୆
    w ίΞɺ(#ϝϞϦɺ(CQT͕୆
    w ઌഐνʔϜDMBSHF୆
    w ίΞɺ(#ϝϞϦɺ.CQT͕୆
    w ˞ωοτϫʔΫ͸2JJUBʹࡌ࣮ͬͯͨଌ஋͔Βਪଌ

    IUUQRJJUBDPNTBJUBSBJUFNTBFFBG

    View Slide

  5. Ϧιʔε෼ࢄͯ͠Δ͚Ͳ
    ίΞ਺΍ϝϞϦ਺͸଍ͤ͹
    ಉ͔ͩ͡ΒެฏʹΈ͑Δ

    View Slide

  6. ෳ਺୆ͷ໛ൣղ౴Λ
    ࡞Δ΂͘΍ͬͯΈͨ

    View Slide

  7. ࠷ॳʹ
    w ී௨ʹ୆ ίΞ
    Ͱղ͍ͯɺ఺ग़Δ͘Β͍
    ·Ͱ͸ߴ଎ԽΛਐΊ͓ͯ͘ͱΑ͍

    ΅͘͸࣌ؒͳ͔ͬͨͷͰ࠷ॳ͔Β୆ߏ੒࡞͚ͬͨͲ

    w VOJDPSOϫʔΧʔ૿΍͢
    w ςϯϓϨͰΫΤϦग़·ͬͯ͘Δͷͱ͔શ෦๾໓
    w ͦͷঢ়ଶͰίΞͷ$16Λόϥϯεྑ͘࢖͍੾ͬ
    ͯΔ͸ͣͳͷͰɺෳ਺୆ʹల։

    View Slide

  8. ୆ˠ୆
    w ϗετ໊ΛৼͬͨˠJTVʙJTV IPTUTॻ͘

    w ෼ࢄߏ੒ΛܾΊͨ
    w JTV%#4JOBUSB
    w JTVOHJOY4JOBUSB
    w JTV3FEJT4JOBUSB
    w JTV4JOBUSBͷΈ
    w ϕϯνͷ௨৴ઌ͸JTVΛࢦఆ

    View Slide

  9. OHJOYઃఆ
    w ը૾ͷΞοϓϩʔυͱ഑৴͕͋ΔͷͰɺը૾ϋϯυ
    Ϧϯά͸JTVͰશ෦΍ΔΑ͏ʹ͢Δ
    w UIFNFOFX͸JTVʹ͚ͩVQTUSFBN
    w QVCMJD͸JTVͷOHJOYͰࡹ͘
    w ͦͷ΄͔͸JTVʙJTVʹVQTUSFBN

    View Slide

  10. %#ઃఆ
    w ͳΜͰJTV͕%#͔ͱ͍͏ͱɺJTVͷ୆ߏ੒
    ͷঢ়ଶͰ%#ઃఆ΋νϡʔχϯάͯͨ͠ͷͰɺͦͷ
    ··࢖͍͔ͨͬͨ ͨͩͷࡶஊ

    w XFCBQQͷ઀ଓઌΛ͔Β
    JTVʹมߋ
    w .Z42-͕CJOEͰ֎͔Βͭͳ͕Β
    ͳ͍ͷͰʹͯ͠ɺAJTVDPOA!AAͳ
    ϢʔβΛ௥Ճ֤ͯ͠ϗετ͔Βೝূ௨Δ༷ʹ͢Δ

    View Slide

  11. 3FEJTઃఆ
    w ΄΅࢖ͬͯͳ͍͚ͲҰԠ෼͚͓ͯ͘
    w XFCBQQͷ઀ଓઌΛ͔Β
    JTVʹมߋ
    w 3FEJT΋CJOEͳͷͰʹม
    ߋ

    View Slide

  12. ͱΓ͋͑ͣ୆Ͱ
    ಈ͍ͨ

    View Slide

  13. ్தܦա
    w ѹ౗తʹͭΒͦ͏ͳͷ͕ݟ͑ͯ͘Δ

    ·ͩςϯϓϨ͔ΒΫΤϦ௥͍ग़͠ऴΘͬͯͳ͍

    w ͋ͱίΞ୆Ͱ͍ͬͯΔ૊௕͸΍ͬͺεΰΠ

    View Slide

  14. ղ͖ऴΘͬͨ
    w είΞ͕৳ͼͳ͍
    w ໛ൣղ౴νʔϜ ίΞ୆
    ͷ࠷ߴείΞ͸લޙͳ
    ͷͰϗϯτ͸ͦͷ͘Β͍ߦ͖͔ͨͬͨ
    w ֤αʔόͷ$16͋·ͬͯΔͷʹείΞ৳ͼͳͯ͘ಾ͗͢Δ

    View Slide

  15. ͔͜͜Β͕ຊ୊

    View Slide

  16. ͳͥ୆ߏ੒͸
    ୆ߏ੒΄Ͳ
    είΞ͕৳ͼͳ͍

    View Slide

  17. ଳҬຒ·ͬͯ·ͨ͠

    View Slide

  18. ͋ΕଳҬ͸ʜ
    w ୆ߏ੒(CQTY
    w ୆ߏ੒.CQTY(CQT
    w ଳҬ͚ͩΈͨΒ୆ߏ੒ͷ΄͏͕༗རͳ͸ͣͰ͸

    View Slide

  19. ͦΜͳ͜ͱ͸ͳ͔ͬͨ

    View Slide

  20. ୆ߏ੒
    BMMJOPOF
    DYMBSHF
    (CQT

    ϕϯνϚʔΧʔͱͷ௨৴ʹ(CQT࢖͑Δͧ

    View Slide

  21. ୆ߏ੒
    JTV
    DMBSHF
    .CQT

    JTV
    DMBSHF
    .CQT
    JTV
    DMBSHF
    .CQT
    JTV
    DMBSHF
    .CQT
    ͱͷ௨৴.CQT͚ͩͲɺ
    ಺෦௨৴΋͔ͦ͜Β೧ग़͢Δඞཁ͕͋Δʜ

    View Slide

  22. ߹ܭ(CQT͚ͩͲ
    ಺෦௨৴ͰଳҬ͕
    ରফ໓
    ͍ͯ͠Δ

    View Slide

  23. τϥϑΟοΫ ਪఆ

    JTV
    DMBSHF
    .CQT

    JTV
    DMBSHF
    .CQT
    JTV
    DMBSHF
    .CQT
    JTV
    DMBSHF
    .CQT
    ˞3FEJT͸τϥϑΟοΫগͳ͍ͷͰলུ
    .CQT
    .CQT
    .CQT
    .CQT
    CQT
    .CQT
    .CQT
    .CQT
    .CQT
    .CQT
    .CQT
    .CQT

    View Slide

  24. JTVͷ.CQT͸
    ͘Β͍಺෦௨৴ʹ
    ͔ͭΘΕͯͦ͏

    View Slide

  25. ͦͷଞѱ͕͖͋ͨ͜͠ͱ
    w JTV͕OHJOYͰH[JQͯͨ͠ͷͰ಺෦௨৴͸ແѹॖͩ

    ˠ[email protected]@IFBEFSͰH[JQΛ"DDFQU͢ΔΑ͏ʹ
    ͯ͠TJOBUSBͰH[JQͯ͠ฦ͢
    w 3VCZͷNZTRMͷQSFQBSF͸αʔόʔαΠυ
    QSFQBSFͳͷͰɺԟ෮ͩ

    ˠNZTRMDTCJOEͰYRVFSZͯ͠ҰൃΫΤϦʹ͢Δ
    w ͍ͣΕ΋΄ͱΜͲޮՌͳ͠ϨεϙϯελΠϜͱ͔͸޲
    ্͔ͨ͠΋͚ͩͲɺଳҬ͕ຒ·Βͳ͍Α͏ʹ͢Δൈຊత
    ରࡦʹ͸ͳ͍ͬͯͳ͔ͬͨ

    View Slide

  26. ·ͱΊ
    w खͬऔΓૣ͘ੑೳΛग़͚ͨ͠Ε͹εέʔϧΞ΢τΑΓεέʔ
    ϧΞοϓͰ7.ͷੑೳΛഒͷഒͷഒʹͨ͠΄͏͕Α͍
    w τϥϑΟοΫ্͕͕ͬͯ͘Δͱ୆਺͕ଟ͍ͱ͖ͷ಺෦௨৴͸
    ݁ߏόΧʹͳΒͳ͍ϨϕϧʹͳΓ·͢ɻ
    w ΋ͪΖΜɺ৑௕ੑ͕ඞཁͳͱ͖͸ผͰ͢
    w Ͱ΋ίΞ୆ɺίΞ୆ɺίΞ୆ͷͲΕΛબ
    Ϳ͔ͱฉ͔ΕͨΒɺগͳ͘ͱ΋ίΞΛͨ͘͞Μฒ΂Δͷ
    બͿͷ͕ϕετͰ͸ͳ͍ͱ͍͏͜ͱΛ஌͓ͬͯ͜͏ʜ

    ৑௕ੑΛߟྀ͢Δ৔໘ʹ͓͍ͯ͸ɺίΞ୆ͩͱ୆͓ͪͨΒ࢒Γ୆ͰؤுΔ͜ͱʹͳΔͷͰɺίΞ୆͕
    όϥϯεΑ͍ͱΕ΋Μ͸ߟ͑·͢ɻ୆਺͕ഒͳΒͲΕ͔͕ނো͢Δ֬཰΋ഒʹͳΔͷͰίΞ͸ආ͚͍ͨͰ͢Ͷ

    View Slide