Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
R-ISUCONについて
Search
Yosuke Furukawa
PRO
February 15, 2019
Programming
0
750
R-ISUCONについて
Developers Summit 2019 で話した R-ISUCON の話についてです。
Yosuke Furukawa
PRO
February 15, 2019
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
140
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
4.2k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.2k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
260
Removing Corepack
yosuke_furukawa
PRO
9
1.7k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.8k
Strip Types と Storage
yosuke_furukawa
PRO
4
420
Module Harmony について
yosuke_furukawa
PRO
3
1.7k
LTのやり方
yosuke_furukawa
PRO
16
2.7k
Other Decks in Programming
See All in Programming
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
770
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
350
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2k
楽して成果を出すためのセルフリソース管理
clipnote
0
190
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
170
Improving my own Ruby thereafter
sisshiki1969
1
160
為你自己學 Python - 冷知識篇
eddie
1
350
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
190
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Six Lessons from altMBA
skipperchong
28
4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Practical Orchestrator
shlominoach
190
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
The Invisible Side of Design
smashingmag
301
51k
Designing for humans not robots
tammielis
253
25k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Transcript
R-ISUCON 2019/02/15 @ Developers Summit 2019
Twitter: @yosuke_furukawa Github: yosuke-furukawa
R-ISUCONΛͳͥ͡Ί͔ͨ
R-ISUCON ISUCONʹউͯͳͯ͘ɾɾɾ ʢຊઓग़ճ1ճ, લճ༧બ34Ґ…ʣ
R-ISUCON ௐΔͱISUCONͷաڈग़ऀڧ͍ @tagomoris @fujiwara @kazeburo
R-ISUCON ࣾͰISUCONͬͯɺग़ऀʹͳΕক དྷతʹISUCONͰউͯΔΑ͏ʹͳΔͷͰ
ͦ͏͍͏अͳʢʁʣཧ༝Ͱ࢝ Ίͨ
࣮ࡍͬͯΈΔͱશવํੑ ͕มΘ͖ͬͯͨ
R-ISUCONͱຊՈISUCONͷ ҧ͍
ISUCON ग़͢Δձ͕ࣾͦΕͧΕ͓Λग़͠߹ܾͬͯΊ ΔɺຖճWebΞϓϦ͕ͩɺͦΕͧΕ৭͕͋Δ
R-ISUCON ϦΫϧʔτͳΓͷΛ࡞ͬͯϦΫϧʔτͳΓ ʹ͍ͯΈΔͱ͍͏ͷ໘ന͍͔ɻ ✕
R-ISUCONୈҰճͷ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧γεςϜ
R-ISUCONୈҰճͷ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧γεςϜ • ϦΫϧʔτͰձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠ΫΦʔλʔͷ։࢝ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵
R-ISUCONୈҰճͷ • ϦΫϧʔτͰΑ͋͘Δձٞࣨ༧γεςϜ • ϦΫϧʔτͰձ͕ٞࣨ1Q͔ͣͭ͠औΕͣɺ ͔͠ΫΦʔλʔͷ։࢝ʹෛՙ͕ूத͢Δ • ෛՙ͕ूதͨ݁͠Ռࢮ͵ ϦΫϧʔτͬΆ͍ɻɻɻ
R-ISUCONୈҰճͷ • ຊՈISUCONͱҧͬͯϑϩϯτΤϯυνϡʔ χϯάͷཁૉೖΕͨ • CSS/JSΛ͋͑ͯॏͨ͘͠Γɻ • ΩϟογϡΛޮ͔ͤͨΓɺը૾ѹॖͨ͠Γ͠ ͳ͍ͱείΞ͕ग़ͳ͍Α͏ʹͨ͠ɻ
R-ISUCONୈೋճͷ • νϟοτγεςϜʮRINEʯ
R-ISUCON 2018 2ճ • ࠓճͷ νϟοταʔϏεʮRineʯ • ࣮৽ଔɾΠϯλʔϯͷ2࣍໘ͰΘΕͯΔ ϓϩμΫτͷ͓
R-ISUCONୈೋճͷ • ϦΫϧʔτͰ࠷ۙϦΞϧλΠϜʹݣΓऔΓ Λ͢ΔܥͷΞϓϦ͕૿͖͍͑ͯͯΔɻ • νϟοτ • ࠂ৴ • ݕࡧΫΤϦʔͷิ
etc
R-ISUCONୈೋճͷ • ϦΫϧʔτͰ࠷ۙϦΞϧλΠϜʹݣΓऔΓ Λ͢ΔܥͷΞϓϦ͕૿͖͍͑ͯͯΔɻ • νϟοτ • ࠂ৴ • ݕࡧΫΤϦʔͷิ
etc
R-ISUCONୈೋճͷ • νϟοτͰΑ͋͘ΔͷɺWebSocketͷ৴߸ ΛૹΓա͗ͪΌ͏ • ʮطಡʹͳͬͨʯͱ͔ΛΫϥΠΞϯτ͕ຖճ ૹΔͱϝοηʔδ x ΫϥΠΞϯτͷֻ͚ ࢉͰຖճॲཧ͕૿͑Δ
R-ISUCONୈೋճͷ • νϟοτͰΑ͋͘ΔͷɺWebSocketͷ৴߸ ΛૹΓա͗ͪΌ͏ • ʮطಡʹͳͬͨʯͱ͔ΛΫϥΠΞϯτ͕ຖճ ૹΔͱϝοηʔδ x ΫϥΠΞϯτͷֻ͚ ࢉͰຖճॲཧ͕૿͑Δ
࣮ࡍʹى͖ͨύϑΥʔϚϯεো ͔Βࢀߟʹͯ͠Λ࣮
R-ISUCONͱຊՈISUCON ͷҧ͍ • ຊՈ8͕࣌ؒͩɺR-ISUCON߹॓ܗࣜͰ 1ധ̎ͰΔɻ • ڝٕͱͯ͠ͷଆ໘ΑΓ߹॓ͱͯ͠ͷଆ໘͕ ڧ͍ɻ
R-ISUCONͱຊՈISUCON ͷҧ͍ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো Λϕʔεʹຖճ৽͍͠ISUCONͷΛ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘ڧ͍͕ɺোৼΓฦΓతͳଆ໘ ڧ͍ɻ •
ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ
R-ISUCONͱຊՈISUCON ͷҧ͍ • ύϑΥʔϚϯε্ɺ࣮ࡍʹϦΫϧʔτͰى͖ͨো Λϕʔεʹຖճ৽͍͠ISUCONͷΛ ࡞͍ͬͯΔɻ • ڭҭతͳଆ໘ڧ͍͕ɺোৼΓฦΓతͳଆ໘ ڧ͍ɻ •
ϦΫϧʔτશମͰ࣮ࢪ͢Δ͜ͱͰϦΫϧʔτશମ ͷαʔϏε͕Α͘ͳΔ͜ͱΛૂ͍ͬͯΔɻ ϦΫϧʔτͷαʔϏεΛྑ͘͢Εຊͷ 8FCશମͷ͏͕ͪྑ͘ͳΔɻ
͜Ε·ͰͷৼΓฦΓ
͜Ε·ͰͷৼΓฦΓ • ISUCONͰউͪͨͯ͘अͳཧ༝Ͱ࢝ΊͨR-ISUCONͩͬͨ • ͔͠͠ɺ࣮ࡍʹ࡞Δͱ͜Ζ͔ΒͬͯΈΔͱɺʮϦΫ ϧʔτಛ༗ͷύϑΥʔϚϯεͷΛղܾ͢Δʯͱ͍͏ϦΫ ϧʔτશମͷΤϯδχΞͷఈ্͛ʹد༩͢Δ͜ͱ͕Ͱ͖ͨ • ࠓͰׂͱʮۀͰύϑΥʔϚϯενϡʔχϯά͢Δʯͱ͍ ͏ݴ༿͕ʮϦΞϧISUCONʯΈ͍ͨͳݴ༿Ͱී௨ʹޠΒΕ
ΔΑ͏ʹͳͬͨɻ
R-ISUCONͬͯΈͯ ͦͷޙ
͜͏͍͏ϋοΧιϯίϯς ετͷόϥΤςΟ͕૿͑ͨɻ
εϐʔυϋοΧιϯ • ԾͷαʔϏεͰͳ͘ɺ࣮ࡍͷϖʔδΛج ʹϑϩϯτΤϯυ͚ͩͰͲ͜·ͰߴԽͰ͖ Δ͔Λߦ͏ɻ
εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ੍ଟ͍͔ΒΕͳ͍͜ͱ ଟ͍ • ͔͠͠ɺ੍Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ͔ɺ Ͳ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣମݧͤ͞ ͯ͋͛Δ
• ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ
εϐʔυϋοΧιϯ • ࣮ࡍͷαʔϏεͰ੍ଟ͍͔ΒΕͳ͍͜ͱ ଟ͍ • ͔͠͠ɺ੍Λ֎ͨ͠ঢ়ଶͰͲ͜·Ͱܰ͘ͳΔ͔ɺ Ͳ͜·ͰLook & Feel͕มΘΔ͔Λ·ͣମݧͤ͞ ͯ͋͛Δ
• ͜ΕʹΑͬͯɺ࠷ऴΰʔϧΛݟਾ͑ͨঢ়ଶͰվળ ׆ಈ͕Ͱ͖Δ μΠΤοτͱҰॹͰ࠷ॳʹཧͷ࢟ΛΠϝʔδͰ͖ ΔΑ͏ʹ͔ͯ͠Βվળ͢Δͱΰʔϧ͍͢͠
εϐʔυϋοΧιϯ • ࣮ࡍʹόΠτݕࡧΞϓϦି݅ݕࡧΞϓ ϦͰޮՌ͕ग़͍ͯΔɻ •
PIGICON • Programming and Intelligence: Greatest Improvement CONtest • ػցֶश
x ISUCON • Ԡੑೳͱֶशਫ਼྆ํΛڝ͏ίϯςετ
PIGICON • Ϣʔβʔʹ࣭ͯ͠ɺͦͷ༰ΛجʹϢʔβʔ ͕ߟ͑ͯΔͷΛਪଌ͢Δ • ࣭ճ͕গͳ͚Εগͳ͍΄ͲείΞߴ͍ • ͨͩؒ͠ҧ͍Λ͢ʹ͍߹Θ͕ͤଟ͘ͳΔ • ԠੑೳΛ͋͛Α͏ͱੑೳΛ্͛Δͱࠓਫ਼
͕͘ͳΔ
IMOCON • Iikanji ni MOdel CONtest • Kaggle Έ͍ͨͳػցֶशͷਫ਼ͷΈΛڝ͏ί ϯςετ
• ·ͩ͜Ε͔ΒΔίϯςετͳͷͰৄࡉ໌ ͔͞Εͯͳ͍ɻ
৭ʑ૿͖͑ͯͨ
R-ISUCONͦͷޙ • ΈΜͳʹֶΜͰ΄͍͜͠ͱίϯςετܗࣜʹͯ͠ʢ xxxCON Λ࡞ͬͯʣ։࠵ͱ͍͏ྲྀΕ͕૿͑ͨɻ • ݁Ռͱͯ͠৭ΜͳόϥΤςΟͷڝٕ͕૿͑ͯɺΈΜͳҰڝٕΛ ͢ΔΑ͏ʹͳͬͨɻ • ࣗൃతʹֶश͍ͯ͘͠৫ʹͳ͖ͬͯͨɻ
• ࣮ࡍͷΞϓϦέʔγϣϯʹ׆͔ͤΔΑ͏ʹͳ͖ͬͯͨɻ
·ͱΊ
·ͱΊ • ISUCONʹͳΒͬͯίϯςετ༻ͷΞϓϦΛ࡞ͬͯϦΫϧʔτ ͳΒͰͷΛೖΕͯΈͨ • ݁Ռͱͯ͠ɺશମͷύϑΥʔϚϯεʹؔ͢Δҙ্͕͕ࣝΔͱ ͱʹɺύϑΥʔϚϯεվળͷݟ͕ڞ༗Ͱ͖ͨɻ • R-ISUCONΛͬͯΈͯɺͦͷޙɺίϯςετ͕ϦΫϧʔτશ ମͰ૿͑ͨʢεϐʔυϋοΧιϯ,
PIGICON, IMOCONʣɻ • ࣮ࡍͷΞϓϦͰޮՌ͕ग़ͤͨɻ
·ͱΊ • ISUCONʹͳΒͬͯίϯςετ༻ͷΞϓϦΛ࡞ͬͯϦΫϧʔτ ͳΒͰͷΛೖΕͯΈͨ • ݁Ռͱͯ͠ɺશମͷύϑΥʔϚϯεʹؔ͢Δҙ্͕͕ࣝΔͱ ͱʹɺύϑΥʔϚϯεվળͷݟ͕ڞ༗Ͱ͖ͨɻ • R-ISUCONΛͬͯΈͯɺͦͷޙɺίϯςετ͕ϦΫϧʔτશ ମͰ૿͑ͨʢεϐʔυϋοΧιϯ,
PIGICON, IMOCONʣɻ • ࣮ࡍͷΞϓϦͰޮՌ͕ग़ͤͨɻ ϦΫϧʔτςΫϊϩδʔζͰɺ৭Μͳίϯςετ Λܦݧ͠ɺࣗൃతʹֶश͍ͯ͘͠ ؒΛ΅͈͂ʢจࣈ