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
700
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
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
3.8k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
190
Removing Corepack
yosuke_furukawa
PRO
9
1.5k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.6k
Strip Types と Storage
yosuke_furukawa
PRO
4
370
Module Harmony について
yosuke_furukawa
PRO
3
1.6k
LTのやり方
yosuke_furukawa
PRO
16
2.4k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
750
Node.js v22 で変わること
yosuke_furukawa
PRO
13
5.8k
Other Decks in Programming
See All in Programming
sappoRo.R #12 初心者セッション
kosugitti
0
270
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
790
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
670
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
300
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
230
バッチを作らなきゃとなったときに考えること
irof
2
520
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
54
19k
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
0
110
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
150
GoとPHPのインターフェイスの違い
shimabox
2
210
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
180
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Writing Fast Ruby
sferik
628
61k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
510
Why Our Code Smells
bkeepers
PRO
336
57k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Unsuck your backbone
ammeep
669
57k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
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ʣɻ • ࣮ࡍͷΞϓϦͰޮՌ͕ग़ͤͨɻ ϦΫϧʔτςΫϊϩδʔζͰɺ৭Μͳίϯςετ Λܦݧ͠ɺࣗൃతʹֶश͍ͯ͘͠ ؒΛ΅͈͂ʢจࣈ