R-ISUCONについて

 R-ISUCONについて

Developers Summit 2019 で話した R-ISUCON の話についてです。

D76231a2114896dfcc7b79ac69558b79?s=128

Yosuke Furukawa

February 15, 2019
Tweet

Transcript

  1. R-ISUCON 2019/02/15 @ Developers Summit 2019

  2. Twitter: @yosuke_furukawa Github: yosuke-furukawa

  3. R-ISUCONΛͳͥ͸͡Ί͔ͨ

  4. R-ISUCON ISUCONʹউͯͳͯ͘ɾɾɾ
 ʢຊઓग़৔ճ਺1ճ, લճ༧બ͸34Ґ…ʣ

  5. R-ISUCON ௐ΂ΔͱISUCONͷաڈग़୊ऀ͸ڧ͍ @tagomoris @fujiwara @kazeburo

  6. R-ISUCON ࣾ಺Ͱ΋ISUCON΍ͬͯɺग़୊ऀʹͳΕ͹ক དྷతʹISUCONͰ΋উͯΔΑ͏ʹͳΔͷͰ͸

  7. ͦ͏͍͏अͳʢʁʣཧ༝Ͱ࢝ Ίͨ

  8. ࣮ࡍ΍ͬͯΈΔͱશવํ޲ੑ ͕มΘ͖ͬͯͨ

  9. R-ISUCONͱຊՈISUCONͷ ҧ͍

  10. ISUCON ग़୊͢Δձ͕ࣾͦΕͧΕ͓୊Λग़͠߹ܾͬͯΊ ΔɺຖճWebΞϓϦ͕ͩɺͦΕͧΕ৭͕͋Δ

  11. R-ISUCON ϦΫϧʔτͳΓͷ໰୊Λ࡞ͬͯϦΫϧʔτͳΓ ʹ໰͍ͯΈΔͱ͍͏ͷ΋໘ന͍͔΋ɻ ✕

  12. R-ISUCONୈҰճ໨ͷ໰୊ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧໿γεςϜ

  13. R-ISUCONୈҰճ໨ͷ໰୊ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧໿γεςϜ • ϦΫϧʔτͰ͸ձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠΋ΫΦʔλʔͷ։࢝೔ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵

  14. R-ISUCONୈҰճ໨ͷ໰୊ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧໿γεςϜ • ϦΫϧʔτͰ͸ձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠΋ΫΦʔλʔͷ։࢝೔ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵ ϦΫϧʔτͬΆ͍ɻɻɻ

  15. R-ISUCONୈҰճ໨ͷ໰୊ • ຊՈISUCONͱ͸ҧͬͯϑϩϯτΤϯυνϡʔ χϯάͷཁૉ΋ೖΕͨ • CSS/JSΛ͋͑ͯॏͨ͘͠Γɻ • ΩϟογϡΛޮ͔ͤͨΓɺը૾ѹॖͨ͠Γ͠ ͳ͍ͱείΞ͕ग़ͳ͍Α͏ʹͨ͠ɻ

  16. R-ISUCONୈೋճ໨ͷ໰୊ • νϟοτγεςϜʮRINEʯ

  17. R-ISUCON 2018 2ճ໨ • ࠓճͷ໰୊ νϟοταʔϏεʮRineʯ • ࣮͸৽ଔɾΠϯλʔϯͷ2࣍໘઀Ͱ࢖ΘΕͯΔ ϓϩμΫτͷ͓୊

  18. R-ISUCONୈೋճ໨ͷ໰୊ • ϦΫϧʔτͰ΋࠷ۙϦΞϧλΠϜʹݣΓऔΓ Λ͢ΔܥͷΞϓϦ͕૿͖͍͑ͯͯΔɻ • νϟοτ • ޿ࠂ഑৴ • ݕࡧΫΤϦʔͷิ׬

    etc
  19. R-ISUCONୈೋճ໨ͷ໰୊ • ϦΫϧʔτͰ΋࠷ۙϦΞϧλΠϜʹݣΓऔΓ Λ͢ΔܥͷΞϓϦ͕૿͖͍͑ͯͯΔɻ • νϟοτ • ޿ࠂ഑৴ • ݕࡧΫΤϦʔͷิ׬

    etc
  20. R-ISUCONୈೋճ໨ͷ໰୊ • νϟοτͰΑ͋͘Δͷ͸ɺWebSocketͷ৴߸ ΛૹΓա͗ͪΌ͏໰୊ • ʮطಡʹͳͬͨʯͱ͔ΛΫϥΠΞϯτ͕ຖճ ૹΔͱϝοηʔδ਺ x ΫϥΠΞϯτ਺ͷֻ͚ ࢉͰຖճॲཧ͕૿͑Δ

  21. R-ISUCONୈೋճ໨ͷ໰୊ • νϟοτͰΑ͋͘Δͷ͸ɺWebSocketͷ৴߸ ΛૹΓա͗ͪΌ͏໰୊ • ʮطಡʹͳͬͨʯͱ͔ΛΫϥΠΞϯτ͕ຖճ ૹΔͱϝοηʔδ਺ x ΫϥΠΞϯτ਺ͷֻ͚ ࢉͰຖճॲཧ͕૿͑Δ

    ࣮ࡍʹى͖ͨύϑΥʔϚϯεো֐ ͔Βࢀߟʹͯ͠໰୊Λ࣮૷
  22. R-ISUCONͱຊՈISUCON
 ͷҧ͍ • ຊՈ͸8͕࣌ؒͩɺR-ISUCON͸߹॓ܗࣜͰ
 1ധ̎೔Ͱ΍Δɻ • ڝٕͱͯ͠ͷଆ໘ΑΓ΋߹॓ͱͯ͠ͷଆ໘͕ ڧ͍ɻ

  23. R-ISUCONͱຊՈISUCON
 ͷҧ͍ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো ֐΍໰୊Λϕʔεʹຖճ৽͍͠ISUCONͷ໰୊Λ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘΋ڧ͍͕ɺো֐ৼΓฦΓతͳଆ໘΋ ڧ͍ɻ •

    ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ
  24. R-ISUCONͱຊՈISUCON
 ͷҧ͍ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো ֐΍໰୊Λϕʔεʹຖճ৽͍͠ISUCONͷ໰୊Λ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘΋ڧ͍͕ɺো֐ৼΓฦΓతͳଆ໘΋ ڧ͍ɻ •

    ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ ϦΫϧʔτͷαʔϏεΛྑ͘͢Ε͹೔ຊͷ 8FCશମͷ͏ͪ਺͕ྑ͘ͳΔɻ
  25. ͜Ε·ͰͷৼΓฦΓ

  26. ͜Ε·ͰͷৼΓฦΓ • ISUCONͰউͪͨͯ͘अͳཧ༝Ͱ࢝ΊͨR-ISUCONͩͬͨ • ͔͠͠ɺ࣮ࡍʹ໰୊࡞Δͱ͜Ζ͔Β΍ͬͯΈΔͱɺʮϦΫ ϧʔτಛ༗ͷύϑΥʔϚϯεͷ໰୊Λղܾ͢Δʯͱ͍͏ϦΫ ϧʔτશମͷΤϯδχΞͷఈ্͛ʹد༩͢Δ͜ͱ͕Ͱ͖ͨ • ࠓͰ͸ׂͱʮۀ຿ͰύϑΥʔϚϯενϡʔχϯά͢Δʯͱ͍ ͏ݴ༿͕ʮϦΞϧISUCONʯΈ͍ͨͳݴ༿Ͱී௨ʹޠΒΕ

    ΔΑ͏ʹͳͬͨɻ
  27. R-ISUCON΍ͬͯΈͯ ͦͷޙ

  28. ͜͏͍͏ϋοΧιϯ΍ίϯς ετͷόϥΤςΟ͕૿͑ͨɻ

  29. εϐʔυϋοΧιϯ • Ծ૝ͷαʔϏεͰ͸ͳ͘ɺ࣮ࡍͷϖʔδΛج ʹϑϩϯτΤϯυ͚ͩͰͲ͜·Ͱߴ଎ԽͰ͖ Δ͔Λߦ͏ɻ

  30. εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ͸੍໿΋ଟ͍͔Β΍Εͳ͍͜ͱ ΋ଟ͍ • ͔͠͠ɺ੍໿Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ͔ɺ Ͳ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣ͸ମݧͤ͞ ͯ͋͛Δ

    • ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ
  31. εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ͸੍໿΋ଟ͍͔Β΍Εͳ͍͜ͱ ΋ଟ͍ • ͔͠͠ɺ੍໿Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ͔ɺ Ͳ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣ͸ମݧͤ͞ ͯ͋͛Δ

    • ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ μΠΤοτͱҰॹͰ࠷ॳʹཧ૝ͷ࢟ΛΠϝʔδͰ͖ ΔΑ͏ʹ͔ͯ͠Βվળ͢Δͱΰʔϧ͠΍͍͢
  32. εϐʔυϋοΧιϯ • ࣮ࡍʹόΠτݕࡧΞϓϦ΍௞ି෺݅ݕࡧΞϓ ϦͰ΋ޮՌ͕ग़͍ͯΔɻ •

  33. PIGICON • Programming and Intelligence: Greatest Improvement CONtest • ػցֶश

    x ISUCON • Ԡ౴ੑೳͱֶशਫ਼౓྆ํΛڝ͏ίϯςετ
  34. PIGICON • Ϣʔβʔʹ࣭໰ͯ͠ɺͦͷ಺༰ΛجʹϢʔβʔ ͕ߟ͑ͯΔ΋ͷΛਪଌ͢Δ • ࣭໰ճ਺͕গͳ͚Ε͹গͳ͍΄ͲείΞ͸ߴ͍ • ͨͩؒ͠ҧ͍Λ௚͢ʹ͸໰͍߹Θ͕ͤଟ͘ͳΔ • Ԡ౴ੑೳΛ͋͛Α͏ͱੑೳΛ্͛Δͱࠓ౓͸ਫ਼

    ౓͕௿͘ͳΔ
  35. IMOCON • Iikanji ni MOdel CONtest • Kaggle Έ͍ͨͳػցֶशͷਫ਼౓ͷΈΛڝ͏ί ϯςετ

    • ·ͩ͜Ε͔Β΍ΔίϯςετͳͷͰৄࡉ͸໌ ͔͞Εͯͳ͍ɻ
  36. ৭ʑ૿͖͑ͯͨ

  37. R-ISUCONͦͷޙ • ΈΜͳʹֶΜͰ΄͍͜͠ͱ͸ίϯςετܗࣜʹͯ͠ʢ xxxCON Λ࡞ͬͯʣ։࠵ͱ͍͏ྲྀΕ͕૿͑ͨɻ • ݁Ռͱͯ͠৭ΜͳόϥΤςΟͷڝٕ͕૿͑ͯɺΈΜͳҰ૚ڝٕΛ ͢ΔΑ͏ʹͳͬͨɻ • ࣗൃతʹֶश͍ͯ͘͠૊৫ʹͳ͖ͬͯͨɻ

    • ࣮ࡍͷΞϓϦέʔγϣϯʹ΋׆͔ͤΔΑ͏ʹͳ͖ͬͯͨɻ
 

  38. ·ͱΊ

  39. ·ͱΊ • ISUCONʹͳΒͬͯίϯςετ༻ͷΞϓϦΛ࡞ͬͯϦΫϧʔτ ͳΒͰ͸ͷ໰୊ΛೖΕͯΈͨ • ݁Ռͱͯ͠ɺશମͷύϑΥʔϚϯεʹؔ͢Δҙ্͕͕ࣝΔͱ ͱ΋ʹɺύϑΥʔϚϯεվળͷ஌ݟ͕ڞ༗Ͱ͖ͨɻ • R-ISUCONΛ΍ͬͯΈͯɺͦͷޙɺίϯςετ͕ϦΫϧʔτશ ମͰ૿͑ͨʢεϐʔυϋοΧιϯ,

    PIGICON, IMOCONʣɻ • ࣮ࡍͷΞϓϦͰ΋ޮՌ͕ग़ͤͨɻ
  40. ·ͱΊ • ISUCONʹͳΒͬͯίϯςετ༻ͷΞϓϦΛ࡞ͬͯϦΫϧʔτ ͳΒͰ͸ͷ໰୊ΛೖΕͯΈͨ • ݁Ռͱͯ͠ɺશମͷύϑΥʔϚϯεʹؔ͢Δҙ্͕͕ࣝΔͱ ͱ΋ʹɺύϑΥʔϚϯεվળͷ஌ݟ͕ڞ༗Ͱ͖ͨɻ • R-ISUCONΛ΍ͬͯΈͯɺͦͷޙɺίϯςετ͕ϦΫϧʔτશ ମͰ૿͑ͨʢεϐʔυϋοΧιϯ,

    PIGICON, IMOCONʣɻ • ࣮ࡍͷΞϓϦͰ΋ޮՌ͕ग़ͤͨɻ ϦΫϧʔτςΫϊϩδʔζͰ͸ɺ৭Μͳίϯςετ Λܦݧ͠ɺࣗൃతʹֶश͍ͯ͘͠
 ஥ؒΛ΅͈͂ʢจࣈ਺