# プロジェクト概要
大規模モバイルゲームのAPIサーバーをRuby on Railsで設計・開発し、秒間100万rpsという極めて高い負荷環境下での安定運用を実現しました。
---
## 役割・体制
### 自身のポジションと役割
* **バックエンドエンジニア**
* APIサーバーの設計・実装・テスト、および運用保守
* 効率的な運用のための管理画面開発
* **運用タイトルリーダー**
* チームの運用体制の整備・推進
### チーム規模と構成
* **サーバーチーム:** 約15名
* **連携職種:** クライアントエンジニア、インフラエンジニア、QA、企画担当など多職種とのクロスファンクショナルな連携。
---
## 背景・課題
* **超高負荷への対応:** ユーザー急増に伴う「秒間100万rps」の想定トラフィックに対するアーキテクチャ設計
* **パフォーマンスの極大化:** 膨大なリクエストを処理するため、徹底した負荷試験とクエリチューニングによる性能確保が必須
* **安定性の追求:** 遅延や障害リスクを最小化し、ストレスのないゲーム体験を維持すること
---
## 実際の取り組み
### 開発環境・プロセス
* **技術スタック:** Ruby on Rails(APIサーバー・管理画面)
* **開発手法:** スクラム(1週間スプリント)によるアジャイル開発
* **監視基盤:** New Relic等のAPMツールを活用したシステム可視化・障害検知
### 設計・改善内容
* **パフォーマンスチューニング:**
* New Relicを用いた詳細な分析に基づき、レスポンス時間が1秒を超えるAPIを解消
* DBインデックスの最適化、キャッシュ戦略の導入による負荷分散
* **負荷試験の仕組み化:**
* 継続的な負荷試験環境を構築。リリース前に性能問題を早期発見するサイクルを確立。
---
## 成果・価値
* **パフォーマンス目標の達成:** 負荷試験環境において、外部通信を除く全APIのレスポンス時間を1秒以内に抑制
* **大規模リリースの成功:** 目標インフラコスト内での運用を実現し、高負荷下でも致命的な障害なくサービスを継続
* **運用の最適化:** 継続的な改善プロセスにより、運用コストの削減とユーザー満足度の向上を両立。