Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© 2024 Wantedly, Inc. Ruby でもなんとかなる ISUCON13 公式反省会 2024-01-11 Hayato Kawai / @fohte
Slide 2
Slide 2 text
© 2024 Wantedly, Inc. あなた誰 名前: @fohte (ふぉーて) 川井 颯人 (Hayato Kawai) 所属: ウォンテッドリー株式会社 趣味: 🎮 🎹
Slide 3
Slide 3 text
© 2024 Wantedly, Inc. 初出場 49 位 (35,524 点) 🎉 @fohte @unblee @gedorinku チーム名: gefoun
Slide 4
Slide 4 text
© 2024 Wantedly, Inc. 感想 ● 初出場で 49 位は善戦できたのでは ○ 欲を言えば 30 位以内に入りたかった ● Ruby でもなんとかなることがわかった
Slide 5
Slide 5 text
© 2024 Wantedly, Inc. チームの戦略 ● Ruby でがんばる ○ 書き・読み慣れているため ● プロファイリングは APM にまかせる ○ 慣れているため
Slide 6
Slide 6 text
© 2024 Wantedly, Inc. Ruby でがんばる
Slide 7
Slide 7 text
© 2024 Wantedly, Inc. Ruby でがんばる ● ISUCON は上位入賞を目指すなら Go でやるべき? ○ そうかも ○ 今回も上位 30 チーム中 Go が 29 チームで Ruby は 1 チーム ● でも Ruby が一番読み書きに慣れているし… ● => アプリケーションの速度より自分たちの速を優先
Slide 8
Slide 8 text
© 2024 Wantedly, Inc. Ruby でがんばる ● チームの作戦「とにかく N+1 を潰す」 ● Ruby でも N+1 を解消していくだけでスコアは上がった ○ 実際に本番でやったことは、N+1 改善とアイコンの静的配信が 9 割
Slide 9
Slide 9 text
© 2024 Wantedly, Inc. Ruby でがんばる ● つまり… Ruby でもなんとかなるのでは? ○ なんとかしたい ○ 優勝を目指すなら Ruby は厳しい? ○ 少なくとも 30 位以内に入るなら Ruby でも善戦できそう
Slide 10
Slide 10 text
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる
Slide 11
Slide 11 text
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる ● プロファイリングは Datadog APM に丸投げした
Slide 12
Slide 12 text
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる ● なぜ Datadog APM なのか? ○ 単に「ISUCON でよく使われるツール」を知らなかった ○ 普段使っていて慣れているし、便利
Slide 13
Slide 13 text
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる ● 最も便利だった機能: 「リクエストが多くレスポンス時間が長い エンドポイント」を降順で一覧する ○ テーブルの上から改善していくだけでスコアが延びていく ● 他にもボトルネックを見つけるための機能が揃っている ○ 特定のリクエストで時間がかかっている処理も見れる ○ MySQL のクエリログも見れる ○ ただ今回の場合、DNS の負荷には気付けなかった
Slide 14
Slide 14 text
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる ● Datadog APM の失敗: 高い 😇 ○ ホスト課金: $18.75/host/month ○ APM: $38.75/host/month ○ ISUCON は 3 台なので…… 💸 ■ 対策として 1 台にだけ Datadog Agent を入れて APM を有効化した ■ それでも高い 😇
Slide 15
Slide 15 text
© 2024 Wantedly, Inc. プロファイリングは APM にまかせる ● パワー (金) で解決 ○ おすすめはしません
Slide 16
Slide 16 text
© 2024 Wantedly, Inc. さいごに
Slide 17
Slide 17 text
© 2024 Wantedly, Inc. さいごに ● Ruby でもなんとかなる (なりそう) ● Datadog APM 便利 (だけど失うものがある)
Slide 18
Slide 18 text
© 2024 Wantedly, Inc. さいごに 謝辞 ● ISUNARABE がめちゃくちゃ便利でした ● 『達人が教えるWebパフォーマンスチューニング 〜ISUCON から学ぶ高速化の実践』最高でした