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
540
パフォーマンスを改善するには仕様変更が1番はやい
yamamotohiroya
16
7k
プルリクサイズが大きいと警告してくれる君を作りました!
yamamotohiroya
1
440
安全にプロセスを停止するためにシグナル制御を学ぼう!
yamamotohiroya
0
1.7k
カンファレンスはフィードバックが大事
yamamotohiroya
1
140
Other Decks in Technology
See All in Technology
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
6
1.1k
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
140
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
2
400
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
330
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.3k
生成AIをテストプロセスに活用し"よう"としている話 #jasstnano
makky_tyuyan
0
160
産業機械をElixirで制御する
kikuyuta
0
170
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
160
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
550
ObsidianをMCP連携させてみる
ttnyt8701
2
110
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
160
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
650
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
It's Worth the Effort
3n
184
28k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Optimizing for Happiness
mojombo
379
70k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
We Have a Design System, Now What?
morganepeng
52
7.6k
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