10月18日に行われたPHP Confarence 2017。本稿では,
- 石田健太さん
「グラブル流運用術 〜1700万人を満足させるためのシステム構成, PHPプログラムの考え方〜」 - 市橋立さん
「PHPで作るサービスの, これまでの10年とこれからの10年」 - 吉本将宣さん
「PHP Version UpとAWSへの移行」 - 田中改さん
「運用, 追加開発しづらいPHPアプリケーションに未来を与える方法」
石田健太さん 「グラブル流運用術 〜1700万人を満足させるためのシステム構成, PHPプログラムの考え方〜」
Cygamesの石田健太さんは,
ボトルネック部分の調査・ 分析
グランブルファンタジーは1,700万人がプレイしており,
- New Relicを用いた処理負荷が高いAPIの特定
- XHProfを用いたコードベースでの処理負荷の高い部分の特定
New Relicとは,
XHProfとは,
分析結果から判明したこの2点を,
スキル計算処理の改修
グランブルファンタジーでは様々な要素の組み合わせによりスキル計算を行っており,
- バトルの勝敗に関わるダメージ計算の整合性を担保するため,
一意のデータが特定できるようなKeyを設定する。 - 運用障害を未然に防ぐため,
データが取得できない場合でも問題なく処理できるようにする。
これらに気をつけた実装することで,
CSV取得処理の改修
グランブルファンタジーでは,
CSV取得処理が遅い原因は,
- キャッシュとマスタデータを同じWebサーバー上に置く。
- データの整合性を保つため,
マスタデータが更新された際にキャッシュを削除する。
これらに気をつけた実装することで,
システム改修の成果
システム改修の結果として,
石田さんは改修を通じて,