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
760
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
160
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
4.5k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.3k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
270
Removing Corepack
yosuke_furukawa
PRO
9
1.7k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.9k
Strip Types と Storage
yosuke_furukawa
PRO
4
430
Module Harmony について
yosuke_furukawa
PRO
3
1.8k
LTのやり方
yosuke_furukawa
PRO
16
2.7k
Other Decks in Programming
See All in Programming
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
350
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
330
Devvox Belgium - Agentic AI Patterns
kdubois
1
130
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
0
410
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.4k
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
16
6.5k
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
100
理論と実務のギャップを超える
eycjur
0
170
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
170
AI Agent 時代的開發者生存指南
eddie
4
2k
Developer Joy - The New Paradigm
hollycummins
1
340
Claude Agent SDK を使ってみよう
hyshu
0
1.3k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Review Best Practice
trishagee
72
19k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
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ʣɻ • ࣮ࡍͷΞϓϦͰޮՌ͕ग़ͤͨɻ ϦΫϧʔτςΫϊϩδʔζͰɺ৭Μͳίϯςετ Λܦݧ͠ɺࣗൃతʹֶश͍ͯ͘͠ ؒΛ΅͈͂ʢจࣈ