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
930
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
560
パフォーマンスを改善するには仕様変更が1番はやい
yamamotohiroya
16
7.1k
プルリクサイズが大きいと警告してくれる君を作りました!
yamamotohiroya
1
440
安全にプロセスを停止するためにシグナル制御を学ぼう!
yamamotohiroya
0
1.7k
カンファレンスはフィードバックが大事
yamamotohiroya
1
140
Other Decks in Technology
See All in Technology
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
170
LLM時代の検索
shibuiwilliam
2
430
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
330
【LT会登壇資料】TROCCO新コネクタ「スマレジ」を活用した直営店データの分析
kazari0425
1
110
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
130
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
6
4k
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
3
190
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
130
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
110
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
3
7.5k
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
130
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Gamification - CAS2011
davidbonilla
81
5.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
How to Ace a Technical Interview
jacobian
278
23k
Producing Creativity
orderedlist
PRO
346
40k
Designing Experiences People Love
moore
142
24k
GitHub's CSS Performance
jonrohan
1031
460k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Adopting Sorbet at Scale
ufuk
77
9.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
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