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
370
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
180
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
200
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
170
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
270
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
150
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
230
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
260
Web技術の基本 2回目 / Introduction to Web technologies 2nd class
bath_poo_
0
270
Other Decks in Technology
See All in Technology
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
300
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
Greatest Disaster Hits in Web Performance
guaca
0
230
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
150
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
400
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
920
Tebiki Engineering Team Deck
tebiki
0
24k
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
900
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.8k
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
210
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Building an army of robots
kneath
306
46k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Skip the Path - Find Your Career Trail
mkilby
0
55
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
How to build a perfect <img>
jonoalderson
1
4.9k
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
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!