StudioSEM inc.

ゲームサーバの負荷テストに取り組みました

こんにちは。
今回はゲームサーバーの負荷テストの業務に取り組む機会があり、その時のお話を書きます。

担当しているプロジェクトにて、
予算組みの関係で本番環境におけるサーバ費用を概算で構わないので知りたいというお話をいただきました。

従来、運営にかかるサーバ費用については、ユーザ数の見込みから想定される負荷を再現させて、
その負荷に対応出来る構成を確認したうえで、計算をしています。

負荷テストは全体の開発が完了したうえで、完成したAPIサーバに対して負荷をかけるのですが、
今回はまだ開発中の段階で、費用試算のための簡易的な負荷テストを実施することになりました。

初めての取り組み

私自身は、負荷テストに実際に取り組むのは初めてでした。
とても重要な作業であり、相応に時間のかかる作業だと認識していました。

今回のお話は予算組みの都合上ということで、急ぎデータが欲しいというお話しでした。
時間的には本来かけられる時間より短期間でデータを揃える必要がありました。

SEMには負荷テストに対応したSEMGAME-Attackerというサービスがあります。
今回のテストにはこのサービスを使用して取り組みました。

トラブルはつきもの

まずは小規模な負荷をかけて、シナリオが正常に動作するか確認しつつ、各サーバのリソース状況を確認していきます。
徐々に負荷を高めて、その都度リソース状況を確認し、傾向を探ります。
ある程度の情報が揃ったら、想定DAUから算出したHAU(1時間あたりのアクティブユーザ数)を想定したシナリオを60分間をかけてテストします。

流れとしてはこのような内容ですが、その過程では想定外のエラーや高負荷状態の発生など、トラブルもありました。
その都度、原因を探り、対策を取り、再テストを繰り返します。

SEMGAME-Attackerに助けられて

SEMGAME-Attackerでは、このような繰り返しのテストも簡単に実施出来るので、とても助かりました。
APIの設定やシナリオの組み立て、テスト結果のレポート確認を、全てWEB管理ツールからオールインワンで実現出来ます。
また、負荷をかける側のサーバも、実行時に指定するだけで自動でスケーリングしてくれます。

レポートには自分でメモを記載することが出来るので、各種リソース状況のスクリーンショットを貼ればすぐにチーム内で共有できます。
次の段取りをすり合わせするのも全て管理ツール上で完結するため、チーム内コミュニケーションが捗ります。

結果として、ご依頼いただいてから10日ほどの期間で、準備からHAU4万ユーザの負荷テスト、および費用試算を済ませることが出来ました。

さいごに

以上でお話は終わります。
ここまで読んでいただき、ありがとうございました。

他のブログも見る