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
Ruby でもなんとかなる - ISUCON13 公式反省会
Search
Hayato Kawai
January 11, 2024
Technology
0
140
Ruby でもなんとかなる - ISUCON13 公式反省会
「ISUCON13 公式反省会【参加者限定】」の LT 資料です。
https://connpass.com/event/304701/
Hayato Kawai
January 11, 2024
Tweet
Share
More Decks by Hayato Kawai
See All by Hayato Kawai
巨大 tfstate に立ち向かう技術
fohte
1
280
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
860
Datadog Logs を活用して SLO 監視基盤を構築する
fohte
2
790
The Journey of rubocop-daemon into RuboCop
fohte
1
1k
Ruby as Shell script
fohte
1
470
rubocop-daemon 裏話: OSS の苦悩
fohte
2
560
RuboCop Server Mode の仕組み
fohte
1
270
Ruby を使ったプロダクト開発を支えるオブザーバビリティ基盤
fohte
2
130
インシデントコマンダーやってみた
fohte
5
1k
Other Decks in Technology
See All in Technology
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
280
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Can We Measure Developer Productivity?
ewolff
1
150
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
AGIについてChatGPTに聞いてみた
blueb
0
130
Featured
See All Featured
Scaling GitHub
holman
458
140k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Embracing the Ebb and Flow
colly
84
4.5k
Practical Orchestrator
shlominoach
186
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Code Review Best Practice
trishagee
64
17k
How STYLIGHT went responsive
nonsquared
95
5.2k
Code Reviewing Like a Champion
maltzj
520
39k
Transcript
© 2024 Wantedly, Inc. Ruby でもなんとかなる ISUCON13 公式反省会 2024-01-11 Hayato
Kawai / @fohte
© 2024 Wantedly, Inc. あなた誰 名前: @fohte (ふぉーて) 川井 颯人
(Hayato Kawai) 所属: ウォンテッドリー株式会社 趣味: 🎮 🎹
© 2024 Wantedly, Inc. 初出場 49 位 (35,524 点) 🎉
@fohte @unblee @gedorinku チーム名: gefoun
© 2024 Wantedly, Inc. 感想 • 初出場で 49 位は善戦できたのでは ◦
欲を言えば 30 位以内に入りたかった • Ruby でもなんとかなることがわかった
© 2024 Wantedly, Inc. チームの戦略 • Ruby でがんばる ◦ 書き・読み慣れているため
• プロファイリングは APM にまかせる ◦ 慣れているため
© 2024 Wantedly, Inc. Ruby でがんばる
© 2024 Wantedly, Inc. Ruby でがんばる • ISUCON は上位入賞を目指すなら Go
でやるべき? ◦ そうかも ◦ 今回も上位 30 チーム中 Go が 29 チームで Ruby は 1 チーム • でも Ruby が一番読み書きに慣れているし… • => アプリケーションの速度より自分たちの速を優先
© 2024 Wantedly, Inc. Ruby でがんばる • チームの作戦「とにかく N+1 を潰す」
• Ruby でも N+1 を解消していくだけでスコアは上がった ◦ 実際に本番でやったことは、N+1 改善とアイコンの静的配信が 9 割
© 2024 Wantedly, Inc. Ruby でがんばる • つまり… Ruby でもなんとかなるのでは?
◦ なんとかしたい ◦ 優勝を目指すなら Ruby は厳しい? ◦ 少なくとも 30 位以内に入るなら Ruby でも善戦できそう
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる • プロファイリングは Datadog
APM に丸投げした
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる • なぜ Datadog
APM なのか? ◦ 単に「ISUCON でよく使われるツール」を知らなかった ◦ 普段使っていて慣れているし、便利
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる • 最も便利だった機能: 「リクエストが多くレスポンス時間が長い
エンドポイント」を降順で一覧する ◦ テーブルの上から改善していくだけでスコアが延びていく • 他にもボトルネックを見つけるための機能が揃っている ◦ 特定のリクエストで時間がかかっている処理も見れる ◦ MySQL のクエリログも見れる ◦ ただ今回の場合、DNS の負荷には気付けなかった
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる • Datadog APM
の失敗: 高い 😇 ◦ ホスト課金: $18.75/host/month ◦ APM: $38.75/host/month ◦ ISUCON は 3 台なので…… 💸 ▪ 対策として 1 台にだけ Datadog Agent を入れて APM を有効化した ▪ それでも高い 😇
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる • パワー (金)
で解決 ◦ おすすめはしません
© 2024 Wantedly, Inc. さいごに
© 2024 Wantedly, Inc. さいごに • Ruby でもなんとかなる (なりそう) •
Datadog APM 便利 (だけど失うものがある)
© 2024 Wantedly, Inc. さいごに 謝辞 • ISUNARABE がめちゃくちゃ便利でした •
『達人が教えるWebパフォーマンスチューニング 〜ISUCON から学ぶ高速化の実践』最高でした