Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby でもなんとかなる - ISUCON13 公式反省会

Ruby でもなんとかなる - ISUCON13 公式反省会

「ISUCON13 公式反省会【参加者限定】」の LT 資料です。
https://connpass.com/event/304701/

Hayato Kawai

January 11, 2024
Tweet

More Decks by Hayato Kawai

Other Decks in Technology

Transcript

  1. © 2024 Wantedly, Inc. あなた誰 名前: @fohte (ふぉーて) 川井 颯人

    (Hayato Kawai) 所属: ウォンテッドリー株式会社 趣味: 🎮 🎹
  2. © 2024 Wantedly, Inc. 初出場 49 位 (35,524 点) 🎉

    @fohte @unblee @gedorinku チーム名: gefoun
  3. © 2024 Wantedly, Inc. 感想 • 初出場で 49 位は善戦できたのでは ◦

    欲を言えば 30 位以内に入りたかった • Ruby でもなんとかなることがわかった
  4. © 2024 Wantedly, Inc. チームの戦略 • Ruby でがんばる ◦ 書き・読み慣れているため

    • プロファイリングは APM にまかせる ◦ 慣れているため
  5. © 2024 Wantedly, Inc. Ruby でがんばる • ISUCON は上位入賞を目指すなら Go

    でやるべき? ◦ そうかも ◦ 今回も上位 30 チーム中 Go が 29 チームで Ruby は 1 チーム • でも Ruby が一番読み書きに慣れているし… • => アプリケーションの速度より自分たちの速を優先
  6. © 2024 Wantedly, Inc. Ruby でがんばる • チームの作戦「とにかく N+1 を潰す」

    • Ruby でも N+1 を解消していくだけでスコアは上がった ◦ 実際に本番でやったことは、N+1 改善とアイコンの静的配信が 9 割
  7. © 2024 Wantedly, Inc. Ruby でがんばる • つまり… Ruby でもなんとかなるのでは?

    ◦ なんとかしたい ◦ 優勝を目指すなら Ruby は厳しい? ◦ 少なくとも 30 位以内に入るなら Ruby でも善戦できそう
  8. © 2024 Wantedly, Inc. プロファイリングは APM にまかせる • なぜ Datadog

    APM なのか? ◦ 単に「ISUCON でよく使われるツール」を知らなかった ◦ 普段使っていて慣れているし、便利
  9. © 2024 Wantedly, Inc. プロファイリングは APM にまかせる • 最も便利だった機能: 「リクエストが多くレスポンス時間が長い

    エンドポイント」を降順で一覧する ◦ テーブルの上から改善していくだけでスコアが延びていく • 他にもボトルネックを見つけるための機能が揃っている ◦ 特定のリクエストで時間がかかっている処理も見れる ◦ MySQL のクエリログも見れる ◦ ただ今回の場合、DNS の負荷には気付けなかった
  10. © 2024 Wantedly, Inc. プロファイリングは APM にまかせる • Datadog APM

    の失敗: 高い 😇 ◦ ホスト課金: $18.75/host/month ◦ APM: $38.75/host/month ◦ ISUCON は 3 台なので…… 💸 ▪ 対策として 1 台にだけ Datadog Agent を入れて APM を有効化した ▪ それでも高い 😇
  11. © 2024 Wantedly, Inc. さいごに 謝辞 • ISUNARABE がめちゃくちゃ便利でした •

    『達人が教えるWebパフォーマンスチューニング 〜ISUCON から学ぶ高速化の実践』最高でした