Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby でもなんとかなる - ISUCON13 公式反省会
Search
Hayato Kawai
January 11, 2024
Technology
0
210
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
Bedrock のコスト監視設計
fohte
2
300
Data Access Control で実現するより細かい権限制御
fohte
0
210
Datadog が支える Wantedly のシステム運用
fohte
0
77
Devin や Cursor などの生成 AI ツール導入に向けて何を取り組んだのか
fohte
2
300
Datadog Network Monitoring を活用して NAT Gateway 課金を 80 % 削減した話
fohte
2
720
Trace Metrics と Istio Metrics でサービス健全性を監視する
fohte
0
510
段階的リリースを実現する kube canary
fohte
1
210
巨大 tfstate に立ち向かう技術
fohte
1
1.1k
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
1.3k
Other Decks in Technology
See All in Technology
Microsoft Agent 365 を 30 分でなんとなく理解する
skmkzyk
1
1k
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
220
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
530
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
130
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
文字列の並び順 / Unicode Collation
tmtms
1
300
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
180
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
390
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
200
学習データって増やせばいいんですか?
ftakahashi
2
280
eBPFとwaruiBPF
sat
PRO
4
2.5k
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
120
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Building an army of robots
kneath
306
46k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Done Done
chrislema
186
16k
We Have a Design System, Now What?
morganepeng
54
7.9k
Being A Developer After 40
akosma
91
590k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Docker and Python
trallard
47
3.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
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 から学ぶ高速化の実践』最高でした