【CEDEC 2019】『シノアリス』リリース時に増えすぎたサーバーを如何に削減したのか…固定費が1000万円近く削れた月も!?

 
コンピュータエンターテインメント協会(CESA)は、9月4日~6日の期間、パシフィコ横浜(神奈川県横浜市)にて、国内最大のゲーム開発者向けカンファレンス「コンピュータ・エンターテインメント・デベロッパーズ・カンファレンス 2019」(CEDEC 2019)を開催している。
 
本稿では、9月5日に実施された講演「SINoALICE -シノアリス- それは必死の「サーバー削減」」についてのレポートをお届けしていく。
 
本セッションには、ポケラボ・ゲーム開発事業部 エンジニアマネージャーの覚張泰幸氏が登壇。本セッションでは、2017年6月6日にリリースされた『SINoALICE-シノアリス-』(以下、『シノアリス』)において、約2年が経過した今、リリース時に広げすぎたサーバーを如何にして削減しているか、また段階で行ってきた数々の負荷対策を紹介した。
 

▲ポケラボ・ゲーム開発事業部 エンジニアマネージャーの覚張泰幸氏。昨年は『シノアリス』リリース時に起きたメンテ地獄の裏側を語る講演「SINoALICE -シノアリス- それは最高の「未曾有アクセス」」にも登壇した(関連記事)。
 

▲覚張氏のプロフィール。これまで『戦乱のサムライキングダム』や『シノアリス』の開発に関わっており、国内でもトップクラスのGvG開発経験がある。
 

▲スクウェア・エニックスとポケラボの協業タイトルとなる『シノアリス』では、リアルタイムのGvGが楽しめる。2019年6月6日には日によって内容が変わる2周年記念のTVCMを公開。今後は、海外での配信地域拡大などが予定されている。
 
まず覚張氏は、昨年の講演にて『シノアリス』リリース時に何が発生し、安定に至ったかを赤裸々に紹介したと話を始めた。そこで今年は、ピーク時には1000台以上も積まれていたサーバーを如何にして削減していったかにフォーカスした内容になっていると続けた。
 



【関連記事】
【CEDEC 2018】まさに未曽有の講演、『SINoALICE』リリース時に起きた「メンテ地獄」の裏側をポケラボのエンジニア・覚張氏が赤裸々に告白
 
サーバーを削減する理由は、固定費を削る目的だけでなく、その分をコンテンツ作成やプロモーション展開に投資するためだという。しかし、パフォーマンスを低下させずに費用だけを削るのは並大抵の努力では実現できない。大変ではあるが、これに取り組まなければユーザーの満足度は上がらないことから取り組むこととなった。
 
●削減の軌跡
リリース時はとにかくゲームが動くことが最優先で要求されていたため、費用度外視でサーバーを積み上げていたという覚張氏。初期流入を乗り越えたということもあり、まずは削れるところから削っていったという。金額にして、多い月では1000万円ほどの費用削減ができた時期もあったと明かした。
 

▲無駄遣いをしていた部分を引き締める作業は、削りやすく楽しくもあったと語る。
 


▲ピーク時は650台稼働していたEC2は現在ピーク時でも150前後で推移している。人が少ない深夜帯だと20台ほどに落ち着いているという。
 


▲200台稼働していたRDSも今は50台前後に。直近の速度改善もあり、ここからさらに6割ほど削れそうな見通しが立っているとも述べた。
 
●削減
サーバーを削減するにあたっては「定常メンテナンス」と「深夜メンテナンス」で下記のように作業を分けていることも紹介された。
 

▲深夜メンテナンスは、『シノアリス』プロデューサーの前田氏と覚張氏の2名がポケラボの未来について語り合いながら対応にあたっているのだとか。
 
●SINoALICEにおけるサーバー削減、移行の留意点
深夜メンテナンスは、膨大なデータ量を要するため、かなり時間のかかる作業となっている。また、ゲームの仕様上、ギルドの戦力分析やマッチングなどさまざまなバッチが実行されている。そのため、バッチを止めずにデータベースサーバーを移行する必要があるのだと述べた。
 
具体的には、サーバーのデータベースのエンドポイントを細かく調整し、セレクトに関しては移行前のサーバー、インサートに対しては移行後のサーバーに向くように調整するなど気を抜けないところが多い。そのほか、運用に関わるスキームの変更に関しても時間を要するため深夜メンテナンス時に実施している。
 

 
●サーバー削減、移行のテクニック
さらに、サーバー削減、移行するにあたってのテクニックもいくつか紹介した。データ量が多いままでは費用もかさみ、構築にも時間がかかってしまうため、早めの対応を心掛けているという。
 


▲3つ目の「移行作業前のスケールアップ」はかなり効果が見込めることや、データが少ないテーブルに関しては4つ目の「ゲームを止めずにshaedeing化」が有効だと説明した。
 
ここまでのまとめとして覚張氏は、RDSを利用しているため、スケールダウンは定常メンテナンスで容易に実施できるが、スケールインは深夜メンテナンスが必須であると語る。特に、大量のデータを分散、統合、変更には膨大な時間を要する。今回の講演では、台数のグラフも公開したが、実際はインスタンスのタイプ変更(スケールダウン)による削減も大きいとのことだ。そもそも、『シノアリス』ではスケールアウト、スケールインを小まめに実施するようなシステムは想定していなかったので、スケールアップやスケールダウンで対応できるよう全体的に組み直しているという。
 
さらに、ここからは深夜メンテナンス時に実際に発生したいくつかのしくじり事例を紹介した。
 

▲原因としては、RDSのインスタンス障害のために想定通りに進まなかったとのこと。
 

▲先ほどと同日、インスタンス障害が起きたためフェールオーバーの処理で対応したが、これが原因となりバッチが止まり移行に失敗していたことが発覚した。
 

▲直近では7月5日に、移行には成功したが翌月の費用が想定以上にかさんでしまうという事態が発生。
 
そのほか、おまけとして「大規模マーケティング時のサーバー増設」と「SINoALICEにおけるAPPサーバーの削減」についても言及。
 
●大規模マーケティング時のサーバー増設
ここでいう大規模マーケティングは、TVCMや大型コラボを指す。こういった時期にはアクセスが通常時の2倍以上に増加するという。コロシアムが実施されるようなピークタイムに増設し、深夜など人が少ない時間帯は自動的に削減するよう24時間単位で細かく設定している。
 


▲『シノアリス』では、メンテナンス明けにピークを迎える傾向にあるという。
 
●SINoALICEにおけるAPPサーバーの削減
分析ツールを利用して効率の悪いAPIを抽出し、削減を行っている。開発段階ではレコート数的に平気だった機能も長く利用するうえで効率が悪くなったり、想定以上にレコードが増えたり、新機能追加の影響で処理が煩雑になってしまうところをNew Relicで分析しているという。
 


▲こちらはコードの改修を行ったとあるAPIの処理結果。結果が半分ほどになっており、キャラ強化が若干速くなるなど改善している。覚張氏は、効率の悪いAPIには今年中に全て対応したいとの抱負を述べた。
 
最後に覚張氏は、『シノアリス』では課題が未曾有アクセスからサーバー削減に変化したように、ゲームを運用するうえで課題は日々変わっていくと話す。課題に対する最適な道を模索、選択することが未来に繋がるのだと結論を述べた。今後も色々な課題が浮き彫りになってくるだろうが、楽しみながら対応を続けたいと考えているとして講演の締めとした。

 
(取材・文 編集部:山岡広樹)
 

■『SINoALICE(シノアリス)』
 

公式サイト

公式twitter

App Store

Google Play


©2017 Pokelabo Inc./SQUARE ENIX CO., LTD. All Rights Reserved.
 
株式会社ポケラボ
http://pokelabo.co.jp/

会社情報

会社名
株式会社ポケラボ
設立
2007年11月
代表者
代表取締役社長 前田 悠太
企業データを見る