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
340
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
150
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
180
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
150
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
250
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
130
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
210
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
250
Web技術の基本 2回目 / Introduction to Web technologies 2nd class
bath_poo_
0
260
Other Decks in Technology
See All in Technology
さくらの夕べ Debianナイト - さくらのVPS編
dictoss
0
150
OSSコントリビュートをphp-srcメンテナの立場から語る / OSS Contribute
sakitakamachi
0
910
入社後SREチームのミッションや課題の整理をした話
morix1500
1
240
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
2
260
20250328_RubyKaigiで出会い鯛_____RubyKaigiから始まったはじめてのOSSコントリビュート.pdf
mterada1228
0
480
.mdc駆動ナレッジマネジメント/.mdc-driven knowledge management
yodakeisuke
23
8.2k
【2025年度新卒技術研修】100分で学ぶ サイバーエージェントのデータベース 活用事例とMySQLパフォーマンス調査
cyberagentdevelopers
PRO
1
4k
7,000名規模の 人材サービス企業における プロダクト戦略・戦術と課題 / Product strategy, tactics and challenges for a 7,000-employee staffing company
techtekt
0
230
10分でわかるfreeeのQA
freee
1
12k
50人の組織でAIエージェントを使う文化を作るためには / How to Create a Culture of Using AI Agents in a 50-Person Organization
yuitosato
6
2.6k
滑らかなユーザー体験も目指す注文管理のマイクロサービス化〜注文情報CSVダウンロード機能の事例〜
demaecan
0
140
FinOps_Demo
tkhresk
0
120
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
We Have a Design System, Now What?
morganepeng
52
7.5k
Become a Pro
speakerdeck
PRO
27
5.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Language of Interfaces
destraynor
157
24k
RailsConf 2023
tenderlove
29
1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Bash Introduction
62gerente
611
210k
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!