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
0
350
ISUCONってなんだ / What is ISUCON
ふくもく会 その43 / Kanazawa.rb meetup #72 のLT大会で使用した資料です
muttan
August 18, 2018
Tweet
Share
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
110
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
170
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
190
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
160
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
260
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
140
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
220
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
250
Web技術の基本 2回目 / Introduction to Web technologies 2nd class
bath_poo_
0
270
Other Decks in Technology
See All in Technology
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
270
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
210
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
370
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
390
Obsidian応用活用術
onikun94
1
480
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
150
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
360
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
230
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
360
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
How STYLIGHT went responsive
nonsquared
100
5.8k
It's Worth the Effort
3n
187
28k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Practical Orchestrator
shlominoach
190
11k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Into the Great Unknown - MozCon
thekraken
40
2k
How GitHub (no longer) Works
holman
315
140k
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!