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
560
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
21
7.9k
JavaScript Server Runtime History
yosuke_furukawa
PRO
8
2.7k
tc39 x jsconf.jp Panel Discussion
yosuke_furukawa
PRO
0
880
フロントエンドの開発生産性とは
yosuke_furukawa
PRO
16
9.5k
7 principles for rich web apps And how next.js achieves these principles
yosuke_furukawa
PRO
6
2.1k
Deep Dive International Conference
yosuke_furukawa
PRO
0
96
フロントエンドのDXと今後
yosuke_furukawa
PRO
6
3.6k
フロントエンドリアーキテクトの話
yosuke_furukawa
PRO
18
8.8k
new_urlparser.pdf
yosuke_furukawa
PRO
1
420
Other Decks in Programming
See All in Programming
もうすぐ新年度、Babylon.jsがお勧めな3個の理由
hideg
0
170
htmx is fun!
codehex
2
190
受託開発でGitLab CI を活用していく
xiombatsg
1
130
Enhancing Applications with Accessibility API
kishikawakatsumi
3
1k
とにかくHTTP3をライトニングに話す / Anyway, I'll talk to Lightning about HTTP3.
seike460
PRO
0
120
ここ1~2年くらいで 使えるようになった(主要ブラウザーの最新版 がすべて対応した ) ウェブの新機能について ランダムに喋る!
myzkyy
9
6.5k
設計の知識と技能で駆動するソフトウェア開発
masuda220
PRO
18
11k
オブジェクトしこう
okuramasafumi
2
130
OpenTelemetry のサービスという概念について
azukiazusa1
1
410
Swiftの型推論を学ぼう | Let's Learn About Type Inference in Swift
omochi
2
790
AppDeveloperCon 2024 EU: Building polyglot developer experiences in 2024
salaboy
0
380
incrementalモデルの理解を深める
ikkimiyazaki
2
640
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Building Applications with DynamoDB
mza
88
5.6k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
How GitHub Uses GitHub to Build GitHub
holman
467
290k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
The Language of Interfaces
destraynor
150
23k
Designing the Hi-DPI Web
ddemaree
275
33k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
355
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Happy Clients
brianwarren
91
6.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ʣɻ • ࣮ࡍͷΞϓϦͰޮՌ͕ग़ͤͨɻ ϦΫϧʔτςΫϊϩδʔζͰɺ৭Μͳίϯςετ Λܦݧ͠ɺࣗൃతʹֶश͍ͯ͘͠ ؒΛ΅͈͂ʢจࣈ