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
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby でもなんとかなる - ISUCON13 公式反省会
「ISUCON13 公式反省会【参加者限定】」の LT 資料です。
https://connpass.com/event/304701/
Hayato Kawai
January 11, 2024
More Decks by Hayato Kawai
See All by Hayato Kawai
トークン対パフォーマンスを最大化しよう
fohte
5
1.4k
Amazon Bedrock のコスト内訳を気合でトラッキングする
fohte
0
110
Bedrock のコスト監視設計
fohte
2
790
Data Access Control で実現するより細かい権限制御
fohte
0
530
Datadog が支える Wantedly のシステム運用
fohte
0
180
Devin や Cursor などの生成 AI ツール導入に向けて何を取り組んだのか
fohte
2
410
Datadog Network Monitoring を活用して NAT Gateway 課金を 80 % 削減した話
fohte
2
870
Trace Metrics と Istio Metrics でサービス健全性を監視する
fohte
0
620
段階的リリースを実現する kube canary
fohte
1
280
Other Decks in Technology
See All in Technology
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
830
モバイルアプリ開発概論2026
recruitengineers
PRO
6
670
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
140
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
130
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
200
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
120
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
150
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
330
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
210k
Fireside Chat
paigeccino
42
4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
650
We Are The Robots
honzajavorek
0
300
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
Abbi's Birthday
coloredviolet
3
9.4k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
270
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Producing Creativity
orderedlist
PRO
348
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
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 から学ぶ高速化の実践』最高でした