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
ISUCONってなんだ / What is ISUCON
Search
muttan
August 18, 2018
Technology
400
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ISUCONってなんだ / What is ISUCON
ふくもく会 その43 / Kanazawa.rb meetup #72 のLT大会で使用した資料です
muttan
August 18, 2018
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
130
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
210
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
220
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
210
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
290
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
170
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
250
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
270
Web技術の基本 2回目 / Introduction to Web technologies 2nd class
bath_poo_
0
290
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
[ホンマでっか SRE] あなたはなぜ SRE に?
_awache
0
270
internal/testlog で遊ぼう
rokuosan
0
250
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
460
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
300
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
210
Oracle MCP Servers Explained
thatjeffsmith
1
530
信頼性はSREだけのものじゃない
hkawaras
0
140
電話に出る Python のログの話
shinnosuke_kishida
0
270
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
920
「面白い!」を信じ抜け。激動の時代を貫く、オンリーワン・エンジニアの条件
kizawa2020
0
270
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
450
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
380
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to build a perfect <img>
jonoalderson
1
5.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Site-Speed That Sticks
csswizardry
13
1.5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Building Adaptive Systems
keathley
44
3.2k
Transcript
࠷ۙISUCONָ͕͍͠ Kanazawa.rb meetup #72 / ;͘͘ձ ͦͷ43 2018-8-18(Sat) @AOSSA 6֊
ݚमࣨ ਆ୩ܓ྄(@bath_poo_)
ࣗݾհ ISUCONͱ ରࡦ
ISUCON
ISUCON??
Iikanjino SUshiwotaberu CONtest ͍͍ײ͡ͷण࢘Λ৯Δίϯςετ
Iiikanjino SUnisuwaru CONtest ͍͍ײ͡ͷҜࢠʹ࠲Δίϯςετ ͜Ε͋ͳ͕ͪؒҧͬͯͳ͍ͷͰ…
ISUCONͱ • Iikanjini Speed Up CONtestͷུ ‣ ͭ·Γ(?)͍͍ײ͡ʹεϐʔυΞοϓ͢Δνϡʔχϯάίϯςετ ‣ ϨΪϡϨʔγϣϯͷൣғͰ͋ΕԿͰΓ์ͷָ͍͠ίϯ
ςετ ‣ ࠷ۙେֶͷਓୡͱΘ͍Θ͍ͬͯΔ ‣ ҰΔͷͰͭΒ͍(ମతʹ)ͭΒ͍
༏উ͕ۚ100ສԁͰ͢
ISUCONͱ • (ISUCON7ʹ͓͍ͯ)ҎԼͷͷΛมߋ͠ͳ͚ΕԿΛ ͍͍ͯ͠ࣄʹͳ͍ͬͯΔ ɾΞΫηεઌͷ63*ɺͨͩ͠αʔόʔଆͰੜ͢Δ෦ʢ*%ͳͲʣจࣈछ ʢ<><B[";@>ͳͲʣΛม͑ͳ͍ൣғͰࣗ༝ʹੜͯ͠ྑ͍ ɾϨεϙϯε )5.- ͷ%0.ߏʢදࣔʹӨڹ͠ͳ͍ൣғͰͷۭനจࣈͷ૿ ݮڐՄ͞ΕΔ
ɾ+BWB4DSJQU$44ϑΝΠϧͷ༰ ɾը૾͓ΑͼಈըͷϝσΟΞϑΝΠϧͷ༰ Ҿ༻ɿhttp://isucon.net/archives/50927022.html • զʑʹԿ͕Ͱ͖Δͷ͔… Ҝࢠʹ࠲Δ͜ͱ
ISUCONͱ • ༻͍ͯ͠ΔιϑτΣΞͷೖସ͑ • ίϯϑΟάϑΝΠϧΛ͍͡Δ(nginx.conf, my.cnfͱ͔) • ΞϓϦέʔγϣϯίʔυͷ࠷దԽ • ςϯϓϨʔτΛ͍͡Δ
• ෳαʔόͷߏมߋ • DBεΩʔϚͷมߋ • ༻ҙ͞Εͯͳ͍ଟݴޠͰॻ͖͑Δ(!!)
ͨͱ͑ISUCON7 • ༧બ͔Βෳߏʢ̏ʣ • ग़ऀ͕ΞϯνGoͳͷͰ, Go͔Γ༗རʹͳΔΑ͏ͳආ͚ΒΕ͍ͯͨ • ͲͷαʔόCPU͕1ίΞͩͬͨ • ϝϞϦ1GB͔͠ͷ͍ͬͯͳ͍
• DBʹը૾͕όΠφϦͰอଘ͞Ε͍ͯΔʂʂ ISUCON7(༧બ)Λ࣮ࡍʹݟͯΈΔ?
ͨͱ͑ISUCON7 "QQ "QQ proxy /icons proxy /icons proxy / proxy
/ ϕϯνϚʔΧʔʢӡӦʣ ޙ࿅शͨ͠ͱ͖ͷߏ ͜͜ʹը૾Λ ॻ͖ग़͓ͯ͘͠
ࣗݾհ ISUCONͱ ରࡦ
ରࡦʢաڈʣ • ͳΜͱաڈ͕ఏڙ͞Ε͍ͯΔ(VagrantͰ͍͑ͬ) https://github.com/matsuu/vagrant-isucon
ରࡦʢաڈʣ • اۀISUCONఏڙ͞Ε͍ͯΔࣄ͕ଟ͍ • Yahooגࣜձࣾ https://github.com/yahoojapan/yisucon • ϐΫγϒגࣜձࣾ https://github.com/catatsuy/private-isu ‣
AMIެ։͞Ε͍ͯΔͷͰ͙͢Ͱ͖ͦ͏ • ଞʹ͋ͬͨΒڭ͍͑ͯͩ͘͞
ରࡦʢܭଌʣ • ܭଌͷํΛ֮͑Α͏ Don’t guess! Measure! • ܭଌ͢͠ɻܭଌ͢Δ·ͰͷͨΊͷௐΛͯ͠ͳΒ ͳ͍ɻίʔυͷҰ෦͕ΓΛѹ͠ͳ͍ͷͰ͋Εɺͳ͓͞ ΒͰ͋Δɻ(Ҿ༻ɿhttps://ja.wikipedia.org/wiki/UNIXֶ)
ରࡦʢܭଌʣ • ࣮ࡍʹܭଌΛ͢Δ ‣ nginxͷΞΫηεϩάͷղੳΛ͢Δ - kataribe(matsuu/kataribe) - alp(kuchiki/alp) ‣
ϕϯνϚʔΫճ͠ͳ͕ΒෛՙΛݟΔ - htop ‣ εϩʔΫΤϦΛग़͢ - perconaͱ͔mysqldumpslowͱ͔
ରࡦʢܭଌʣ • ͨͱ͑kataribe • /tagsͷฏۉ͕͔ͳΓ͍ • /ͷΞΫηεେม͓͍ͦ
ରࡦʢηοτΞοϓʣ • ηοτΞοϓΛεϜʔζʹͰ͖ΔΑ͏ʹ ‣ sshͷઃఆ ‣ ֤छΠϯετʔϧΛεϜʔζʹߦ͏ - ͏ͪͷνʔϜansibleͰ͍ͬͯ·͢ ‣
GitHubʹͱΓ͋͑ͣίʔυΛ͋͛Δ ‣ ຊޠʢϨΪϡϨʔγϣϯʣΛਖ਼͘͠ཧղ͢Δ
ରࡦʢศརεΫϦϓτʣ • ศརεΫϦϓτΛॻ͍͓ͯ͘
ISUCONͷԿ͕͍͍ͷ • WebΞϓϦέʔγϣϯʹؔ͢Δجຊతͳׂࣝʹͭ ͍ͯͷཧղ͕ਂ·Δ • ܭଌ͢ΔΫη͕ͭ͘ɹ • ΞϓϦέʔγϣϯΛॻ͘ͱ͖ʹ, ύϑΥʔϚϯεΛҙࣝ͢ ΔΑ͏ʹͳΔ
• systemdͱ͔nginxͱ͔MySQLͱ͔ͦͷ͋ͨΓͷࣝΛ ͘ಘΒΕΔ • ׂͱͦͷ࣌ͷΓͱ͔͕औΓೖΕΒΕ͍ͯΔ • ָ͍͠
ENJOY TUNING!