ameba

amebaゲーム ガールフレンド(仮)部活イベントいよいよ中止にサーバー増強は?

amebaの大人気携帯ゲーム【ガールフレンド(仮)】内で行われる定期イベントの一つ部活イベントが2日連続高付加を理由にメンテナンス、そして中止になった

この記事を読んでいる方はおそらくほとんどの場合、このゲームをやっているか、興味があったのかのどちらかだろう。
ガールフレンド(仮)は、2014年正月に全国的にCMを流した携帯ゲームだ。

人気の声優やかわいい女子高生のカードなどで人気が上がり、現在加入者330万人と公式発表されている。

その大人気携帯ゲームが昨日(1月16日)に2日連続のサーバー後負荷を理由にイベント中に緊急メンテナンス、そして本日イベントの中止という運びになった。

メンテ中

1月15日に一回目のメンテが始まる

1月15日、今年最初の部活イベントが開催された。
そもそも部活とは、いわゆるゲーム内でのグループで、何人かのグループが構成され、その部活内で掲示板を利用できる。
といっても、あくまでゲーム上でのグループであり、また部活自体がイベントの際のグループであるということで、この種のイベントが開催されたときだけ活発になっている部活が多い。
部活イベントとは、個人通しの戦いではあるが、その成績ポイントは部活単位で合算され、個人の獲得ポイントと部活での合算ポイントで順位が決まる。
個人での順位も部活での順位そのどちらでも上位にランクインすればご褒美としてプレゼントがもらえる。
プレゼントといっても、ゲーム内でのアイテムだが、そのアイテムがカードであれば強力なカードがもらえる仕組みだ。

部活イベントは、個の能力より、グループ全体の能力と、コンボ(連続勝利)があるため、一致団結して連鎖しながら勝ち点を重ねていくことでポイントを稼ぎやすい仕組みになっているため、グループとしてある程度まとまっている部活であれば個人のみのでのイベントより、自分のレベル以上のプレゼントがもらえる可能性があるため、どのイベントより人気がある。

また、年末年始にかけて、行われていた個人イベント内で新しい小イベントが開催されたが、そちらも2日目にして後負荷による中止が発表されたばかりで、サーバー自体の弱さを露呈していた。
その中での、部活イベント実行は、強化されていたと考えられていたが、実際はそうではなかったようだ。

運営側の苦しみ そして補填

初日の1回目はお昼というのが定番になっている部活イベント。
平日の昼ということもあり、そこそこの参加者しかないであろう第1回目は、特に何の問題もなくイベントが終了した。
その時点では重いということもなく、いつも通りの推移だったように感じた。
私自身、そして、私が運営する部活の部員自体も昼の1回目より2回目、夜に比重がありそうなポイント推移で、また、対戦部活が強力で、勝てる見込みがなさそうだなと感じつつ、夜へと思考を移行していた。
そして、問題の夜。
22時開始で開始と同時にログイン。
しかしながら、該当のイベントのページへ推移できない。
エラー画面を連発する。
やっとのことで移動できたとしても、勝負するまでに、時間がかかる。。。
そうこうしているうちに相手のポイントがずんずん積み重なる。
当部活部員から掲示板で入れない旨とこれは工事中になる可能性高そうですよね。とコメントを頂く。
そうやっている間に22時30分、勝負のページまで行けたのは1回だけでいよいよメンテナンス画面になった。

怒り

ユーザの怒りもピークに達し、また怒りを通り越して、トラブル自体をイベントとして楽しみ始めるような事態になっていった。
そして、その翌日、いつも通りのそれこそ【しょぼい】補てんで何事もなかったように翌日のイベントへとつながった。

1月16日、みんなそうじゃないかと思いつつ2日目夜のイベントへ。。。

もはやユーザは半分【またなるんじゃないか】と思いつつ夜のイベントへ。
開始当初は特に何の問題もなく進行していく。
当部活は、スタートダッシュでコンボ60まで積み重ね対戦相手に大差で優位に立っている。
私自身は当日だけ使える体力回復アイテムを8個持っており、最後に引き離すだけのアイテムを持っていて、この対戦は余裕だな。
各部員、戦い方がわかってきたな~

と感じていた矢先だった。
ある程度の大差がついたので、あとは余裕を見ながら相手との差を考えながら勝負に挑めばよいと考え、ゆっくりと進めていた。
22時30分を過ぎたころから、挙動がおかしくなる。
ボタンを押しても次に進まない。
嫌な予感がした直後、22時34分にメンテナンスへ突入。
2日連続同一時間帯にメンテナンスというありえない状況へと突入した。

サークル内ではお祭り騒ぎに

amebaのゲームには公式サークルといわれるいわゆるそのゲーム専門の掲示板サイトのようなものがあり、利用者が様々なことを書き連ねているブースがあるが、当ゲームのサークル内はサーバーダウン祭りの状態になっていった。

そのほとんどは、【サーバー増強してくれ】や、【良いアイテムを補てんしてくれ】で、また、当日のみ利用可能な回復アイテムがイベントでもらえることもあり、【当日炭酸】を、【ふつうの炭酸】にして補てんしてくれという書き込みが目立った。
炭酸というのは、回復アイテムで、数回前のイベントから、いつでも使える炭酸アイテムが、当日のみ利用可能なアイテムとなり、その代わりに頻繁にもらえるようになった。
私はそれはそれでありがたいと思っていたので評価していたのだが、当日しか使えないのに、当日ゲームができないのだから補てんしてくれと言ってくる人がいてもおかしくないわけだ。

なぜこのようなことが起きたのか

サーバーが過負荷でトラブルが起きるというのはむしろそれだけ人気があるということだ。
公式サークルで、【なぜ増強しない?】という書き込みが非常に多かったが、おそらく増強はしている。
ただ、それ以上にアクセスが増大し追いついていないのが現状だろう。

何度も同じことを繰り返しているのではないか?

確かに毎回、イベントがあるたびに何かしらの障害が発生しているのは事実だ。
私は以前ホスティングサービスを運営していたときに似たような状況になったことがある。

障害発生→メンテ→これで大丈夫だろうと復旧→少ししてまた障害

詳細や対応方法はまたいつか。。。ということで、結論から言うと、このパターンに陥った場合、明らかにスペック不足なのだ。
しかも、目に見える不足以上の不足だ。
私はこの際、根本原因はあるユーザが提供可能なリソースの3倍以上必要なくらいのアクセスを獲得していることがわかりまずはそのユーザを導入したばかりでまだユーザが収容されていないサーバーへ隔離、不可を分散することで障害を防ぎ、そのユーザが必要としているリソースを数値で出せるようログ解析を行った。
結果として、そのユーザは1000人程度収容する予定だったそのハードウェア1台をまるまる利用してぎりぎり運用できるくらい負荷がかかっていることがわかり、急きょ共用サーバーとしてではなく専用サーバーとして利用してもらうことにした。

ガールフレンドの連日のトラブルはスペック不足か?

では、ガールフレンドのサーバーを強化することで解決するのか否か元プロの視点から考えてみたい。

原因は過負荷?

リリースなどが流れる際には過負荷であるという連絡がなされるのがパターンだが、過負荷というのはいったい何なのか。厳密に考えてみる。
負荷といっても様々な箇所に負荷がかかるのだ。
たとえばCPUを使い切っても処理できないくらいの処理量であったり、様々なデータを処理する際のメモリが足りない、保存するディスクスペースへの読み書きが頻繁すぎて追いつかない、たくさんのトラフィック量が一気に流れるのでいわゆる重くなる。。。
上げたらきりはないが、大体このあたりが過負荷の原因である。
今回サークルに書き込まれたコメントを見ていると、ユーザは、サーバースペック(CPUやメモリ)、回線状況に原因があると考えているようだ。
しかし、本当にそうだろうか。
たしかに、CPUやメモリが弱い可能性はあるが、上場企業がCPUに2枚落ちのCPUを使うと思えない。
メモリにしても1GBや2GBという一般家庭のPCのような小さなものではなく、マザーボードの限界、おそらく100GB単位で実装しているはずだ。
回線にしても、ベンチャー企業が起こしたホスティングサービスから比べたらレベルが違う、1Gbps~10Gbpsは持っているはずだ。
また、ほかのゲームが重くならないことを考えれば回線ということはなさそうだ。

もっと突き詰めて考える。CPUやメモリが足りないくらいの負荷がかかるのか?

もちろんかけようと思えばかけることができる。
しかし、平常時ごく普通に運用できているサービスが、集中するとスペック不足に陥るということは、CPUが足りないメモリが足りないというより、設計に問題があるとしか思えないのだ。
上限がわかっているハードウェアに対して設計が上限以上必要になる設計になっているのではないかということだ。
今回のゲームは基本的にはホームページと同じ規格で作られている、いわゆる動的なHTMLにて作られているゲームだ。
ようは、一般的に使われるWEBサーバーで運用されているわけで、私が得意な分野の一つだ。
なので、少し想定してみると、WEBサーバー、そしてDBサーバーの上限値設定がうまくされていないのではないかと感じた。
そうなると、CPUが負荷なく捌ける量を超えてもWEBサーバーからはデータが送られてくるのでCPUで処理待ちになる。
利用者側からしたらいわゆる【重い】状態になる。メモリも同じだ。10GBなら、同時に10GB以上のデータは捌けないわけだ。
DBサーバーも同じで、読み書きにはCPU、メモリで処理したデータをHDDに書き込むわけだ。
原因はCPU、メモリ、HDDのスペック不足という風に見えるだろうが、根本原因はWEBサーバーやDBサーバーなどゲームを運航していくうえで使っている各サーバーに原因があるのではないか。
ハードウェアの限界より5%~10%余す程度の設計を各サーバーにしなければいけないし、ピーク時に同時にWEBサーバー、DBサーバーなど複合して動いているわけだから、同時に考えなければいけない。(別ハードウェアであったとしても、どちらか弱いスペックに合わせる必要がある)
そういったことを行っていないのではないか、と考えさせられる一幕だ。

330万人のユーザが掛ける負荷とは

全員が同時にアクセスしているわけではないと思うが、正月のCMの影響で新規ユーザが大幅に増えたことが想定され、始めたばかりのユーザにしてみればすべてが新鮮なはずだ。
アクティブユーザが多いと想定されるこの時期であることを考えると、3割前後はアクティブユーザではないかと思われる。100万人だ。
100万人が指定時間のイベントに同時にアクセスしたらどうなるか。だれが考えても簡単だ。
サーバーは受け皿であると考えると、現状私から見たら、東京ドームを10個用意して100万人を受け入れようとしているように見えるのだ。
要は5万人前後しか入ることができないドームを10個ということは50万人だ。
その倍のトラフィックがあるように見えるということだ。
では、ドームを20個にすればいいのかというと、それではぎりぎりだ。なので、100万人ほどが誘導される想定ならその1.5倍ほどのキャパはほしいところ30個だ。
なんとなくamebaは、この見込みが低いのではないかと感じてしまう。

ここを乗り切れば強いサーバーになる

同時アクセス100万というのは尋常ではない。
しかし、これに耐えうる設計ができたときには、大陸からの不正アタックなど全く怖くないくらい強いサーバーになるだろう。
ちなみにだが、Yahooは、トップページだけで1日数億アクセスあるといわれているが、ほとんどダウンすることもなく運用されている。
あれはシンプルなホームページでしょという方もいると思うが、携帯ゲームも基本はホームページで、何ら変わりはない。
なので、やってやれないことはない。
この騒動で株価が上下する前に対応されることを願うだけだ。

GREE希望退職200人募集、ミクシィ通期赤字。。。国内SNSの危機~そこから復活!~

GREEが希望退職者200人を募集へ

事業が振るわない中収益性を上げるために200人の希望退職者を募集することを2013年10月2日に発表した。
これによる今後の収益見通しに関しては現在は不明とのこと。
SNSによるゲーム課金事業で一気に事業拡大し、その後当局からの規制などで業績が悪くなった。
また、いくつかの海外事業拠点も閉鎖予定となった。

続きを読む