« [PSU] アクセス過多の原因を考えてみる | トップページ | [PSU] データリセット決定&オープンβ再開ならず »

2006年9月 6日 (水)

[PSU] アクセス過多の原因を考えてみる(2)

4Gamer.netでファンタシースターユニバースの稼動トラブルについて取り上げられていました。
それで気づいたんですが、発売前に開発者がカンファレンスで公開したシステム情報なんてのも載ってたんですね。

システム構成も公開されていて、先日の記事で予想した内容(予想したシステム構成はこちら)でも論理的には正解だったんですが、さらに詳しい情報が載っていたので、そちらを元に原因分析してみます。

4Gamer.net:[CEDEC 2006#03]発売日前日「ファンタシースターユニバース」。開発5年間の歩み

1.負荷テストを行ったのに負荷に耐えられなかった原因

 ネットワークモードの開発に当たっては,ゲームシステムの複雑化と,多人数化(MMO化)によるバグに苦しめられたとのこと。
 またこのときは,ダミークライアントによるテストが非常に効率的だったという。ダミークライアントとは,10台程度のPCを使い,1台当たり500前後のクライアントによる接続を行うことで,ランダムに歩いたりチャットをしたりといった負荷テストに用いられる。

システム開発では、負荷試験とかラッシュテストとも言われるものです。
目的は、文字通りサーバに負荷をかけること。

単純に考えると、ピーク時の接続数を擬似することのみを重視して、各ユーザの行動を単調で脈絡のないパターンにしてしまうことがあります。
でもこれは大きな間違い。

重要なのは「脈絡のある行動を擬似する」こと。

オンラインゲームであれば例えば、「夜、家に帰ってきてゲームにログイン」「マイルームに入ってアイテムの整理」「マイルームで受信メールのチェック」「知り合いの接続状態を確認」「接続しているユーザとチャット」「お互いのマイルームでチャット」「一緒にチャットしながら買い物」「チャットしながらミッション遂行」「ある程度プレイしたらログアウト」のように意味のある一連の行動をとるユーザを擬似することが重要です。

何故ここまで必要かというと、実際に操作する人たちを想像しないと、負荷をかける場所に漏れが発生してしまうから、です。

今回のこの記事の内容だと、「ランダムに脈絡のない動きをするユーザが約5,000人接続するテスト」を行ったことになります。

この「脈絡のない行動」は、おそらくですが、「ロビー内で歩き回ったりチャットしたりする行動」「ミッション内で戦闘しながらチャットするユーザ」のように範囲が限定されたダミークライアントだったのではないでしょうか。

そのせいで、「マイルームに出入りするユーザ」「ユニバース移動するユーザ」のようなパターンの検証に漏れが出てしまったのでしょう。

このあたりはせめて、実際の利用者がそれなりの接続数でアクセスしてくるテストをできていれば良かったんですが、オープンβテストを行わずにクローズβのみで終わらせてしまったのが敗因ですね。

そして9月中の状態はまさにこの負荷テスト。
随時メンテナンスを行う=サーバパラメータ修正や随時プログラム修正、サーバ増設を行う、ということでしょう。

そういう意味では、9月いっぱいテストを行う、というのはシステム開発的には妥当な判断なので、致し方ないと思います。
(もちろん、発売後にテストするなんて見通し甘すぎ、というのは別の話です)

2.システム構成の不備

このシステム構成図に危険な場所が出ていました。

  1. Loginサーバが1台のみ
  2. MyRoomサーバも1台のみ
  3. CharaDBサーバも1台のみ
    ⇒FrontサーバやGameサーバが複数書かれているので、本当に1台なんでしょう。
    ⇒元々が1台の構成=増設するにはプログラムの設計レベルで変更が必要になる可能性が高いです(事前に十分なテストが行えないため)。

この構成では、想定外のアクセス増には対応できません。

3.まとめ

  1. テスト段階で実際のユーザの行動を想定できていなかった
  2. オープンβでリアルな接続状態を検証するという発想もなかった
  3. クローズβでのソフト配布から、販売時の接続割合を出してしまった
    (実際には重複して取得したユーザがいたことを想定していなかった)
  4. 想定以上のアクセスが発生することを全く考えていなかった
  5. サーバ多重化されていない部分が存在した

原因してあげられるのはこのあたりでしょう。
1ヶ月の有料βテストで、このあたりを確実に解決できることを祈ります。

あとは「サーバ多重化を意識しすぎてネットワーク多重化を忘れてました」なんてことにならないことも祈ります。

|

« [PSU] アクセス過多の原因を考えてみる | トップページ | [PSU] データリセット決定&オープンβ再開ならず »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/157618/11779308

この記事へのトラックバック一覧です: [PSU] アクセス過多の原因を考えてみる(2):

» 今日は。キモいかも [風雅 日記]
今日は、100円ショップで、買ってきた猫耳のヘアバンドでのログインでした。かなり勇気もいりましたが、結果はどうやら不評ですかね。(汗^^) でも風雅は新しいことへ挑戦していきたいから、いろいろやるよ。風雅サンタが懐かしいよ。また風雅のブームを作ってやるんだぁ。 だから応援していてね。 ... [続きを読む]

受信: 2006年9月 6日 (水) 03時28分

« [PSU] アクセス過多の原因を考えてみる | トップページ | [PSU] データリセット決定&オープンβ再開ならず »