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のススメ
Search
yamamoto-hiroya
August 31, 2019
Technology
0
920
ISUCONのススメ
builderscon tokyo 2019 LT 登壇資料
https://builderscon.io/tokyo/2019
yamamoto-hiroya
August 31, 2019
Tweet
Share
More Decks by yamamoto-hiroya
See All by yamamoto-hiroya
AUTO_INCREMENTのIDカラムがオーバーフローしたらどうなるの?実例から学ぶDB設計の注意点
yamamotohiroya
1
550
パフォーマンスを改善するには仕様変更が1番はやい
yamamotohiroya
16
7k
プルリクサイズが大きいと警告してくれる君を作りました!
yamamotohiroya
1
440
安全にプロセスを停止するためにシグナル制御を学ぼう!
yamamotohiroya
0
1.7k
カンファレンスはフィードバックが大事
yamamotohiroya
1
140
Other Decks in Technology
See All in Technology
How Community Opened Global Doors
hiroramos4
PRO
1
130
Connect 100+を支える技術
kanyamaguc
0
150
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
180
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
940
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
0
200
asken AI勉強会(Android)
tadashi_sato
0
140
KubeCon + CloudNativeCon Japan 2025 に行ってきた! & containerd の新機能紹介
honahuku
0
120
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
430
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
240
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
ハッカソン by 生成AIハッカソンvol.05
1ftseabass
PRO
0
150
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
4 Signs Your Business is Dying
shpigford
184
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Invisible Side of Design
smashingmag
300
51k
Side Projects
sachag
455
42k
Building Adaptive Systems
keathley
43
2.6k
Code Reviewing Like a Champion
maltzj
524
40k
Transcript
ISUCONのススメ Hamee株式会社 山本紘也 twitter @HiroyaYamamoto1
Hameeでは エンジニアを 募集しております! • Hameeはbuiderscon tokyo2019の同時通訳スポンサーをしております • 転職をお考えの方は是非気軽に話しかけてください(選考が有利になる チケットがあるとかないとか…)
目次 • ISUCONとは • 参戦履歴 • 学び • まとめ
ISUCONとは http://isucon.net/ WEBサービスのチューニングのうまさを点数化して全国で競い合うコンテスト 名前は「いい感じにスピードアップコンテスト」(Iikanjini Speed Up Contest)の 略。 毎年10月前後に開催していて今年で9回目 予選と本選があり、予選上位数チームが本選出場
きっかけ 2015/08に会社のインフラエンジニアの社内発表にて存在をする 当時エンジニア2年目だった私はどこまでやれるのか試してみたいと思い参 加表明 優勝賞金100万円に目がくらむ
参戦履歴1 • 2015/09 ISUCON5 ◦ バナナマンズ ◦ 予選落ち(T_T) • 2016/09
ISUCON6 ◦ バナナマンリターンズ ◦ 予選落ち。・゚゚・(>_<;)・゚゚・。 • 2017/10 ISUCON7 ◦ バナナマンさん ◦ 予選落ち༼;´༎ຶ ༎ຶ༽
参戦履歴2 • 2018/09 ISUCON8 ◦ バナナマンズ -4thの覚醒- ◦ 予選落ち。。。 ◦
ただし528チーム中64位と大健闘 • 2019/09 ISUCON9 ◦ BANANINE ◦ comming soon
ISUCON5 • SNSっぽいサービス • 画面数・テーブル数が多く、ボトルネックを探すところから • 2年目エンジニアはsshした先のサーバで色んな操作をするだけで一苦 労、時間がかかった • 結果:
65点→1864点 • 何の成果も得られませんでした! • お祭りに参加できたことに満足
ISUCON6 • Wikipediaのような百科事典サービス • ボトルネック調査(ツール)→N+1クエリの改修 • 前年よりできることが増えていることを実感 • 直しているはずなのにスコアが伸びず… •
結果: 0→14400 • 前年より色々動けたが相変わらずスコアに繋がらない
ISUCON7 • チャットサービス • ボトルネック調査ツールを使わずともコードを読みながらN+1のクエリ、 臭い処理を検討つけることができた • テーブルチェック→効きそうなところにインデックス付与で大幅点数アッ プ •
キャッシュ化対応が間に合わず • 結果: 4097→29758 • 確実にできることが増えているのを実感
ISUCON8 • 座席の予約システム • sinatraの素振りをやっていたおかげでローカル環境の構築がスムーズ に行え、ベンチのfail率が下がった • ノウハウを生かしてN+1クエリや不要なループなどを愚直に直した • 結果:
1500→15842 • あと入れたい修正が2,3あったので全部やりきったらもう少し上を目指せ たかも?
None
セオリー • N+1クエリ • インデックス • 画像ファイルのnginxによる静的ファイル化 • よく参照されるデータのキャッシュ化 •
データ構造の見直し
学び • インデックスは大体どこに貼れば効くかは検討がつくようになった • N+1クエリは悪 • キャッシュ化と言ってもRedisを使うとかオンメモリに持つとか色んな方法 があるのでその都度選択する必要がある • 通常の業務でも「速度」というものを意識するようになる
• 楽しい!\(^o^)/
まとめ 相変わらず予選突破できませんが、当日のお祭り感は一度経験してみること をおすすめします。 自分が社会のエンジニアとしてどのくらいの位置にいるのか客観的に分かる のでオススメです。 参加チームが増えてくれることに期待します! (1人でも参加できるけどチームの方が楽しいよ!)
まとめ 相変わらず予選突破できませんが、当日のお祭り感は一度経験してみること をおすすめします。 自分が社会のエンジニアとしてどのくらいの位置にいるのか客観的に分かる のでオススメです。 参加チームが増えてくれることに期待します! (1人でも参加できるけどチームの方が楽しいよ!) ISCUONやろうぜ!
参考 ISUCON5に参加したのでその雑記 ISUCON6に参加したのでその雑記 ISUCON7に参加したのでその雑記 ISUCON8に参加したのでその雑記 https://qiita.com/yamamoto_hiroya/items