この記事のURL

http://www.dango-itimi.com/blog/archives/2006/000892.html


ETC FLASH info サーバ問題困った 転送量とCGI

komatta.gif
Flashゲーム「OH! DANGO! JAM」にアクセスが殺到し公開停止することになってしまいましたが、再び公開するにはどうしたらよいか色々考えてみました。
しかし考えれば考えるほど、再び公開する事が困難ではないかと感じてきました。

現在 一日の転送量目安が200MBのサーバをレンタルしています。「OH! DANGO! JAM」のファイル容量は約3.5MBほどあります。つまり、60~70人ほどの方が一日に「OH! DANGO! JAM」にアクセスしただけで200MBの転送量を超えてしまっていることになっておりました。今までもかなり超えてしまっていたようなのですが、大目にみてもらっていたようです。

ここで、おとといから昨日にかけて「OH! DANGO! JAM」が各所のサイトでとりあげられ、昨日の午前中には1000人以上のアクセスがありました。その結果、転送量が5GBを超えてしまうという事態が起こりまして、サーバ管理の方から連絡を受け「OH! DANGO! JAM」の公開を即停止することになりました。

以前、古くに作成したゲームが同じように各所で取り上げられ、一日に一万人以上の人がアクセスしたことがありました。そのゲームは容量が小さく大事にはいたりませんでしたが、「OH! DANGO! JAM」で一万人となると単純に50GBほどの転送量が必要となります。一日で50GBもの転送量を許容する安いレンタルサーバなどありません。5GBくらいが限度でしょうか。
転送量無制限のサーバをレンタルしようと考えましたが、無制限とはうたっているものの 転送量目安というものを設定しているようで、実際にその転送量を超えると結局制限をかけられたりですとか、課金が発生するといったところがあるようです。

参考 : 「転送量無制限」というのは本当に無制限なの?


今回のような大量の転送量を叩き出してしまうと、他の同じサーバを借りている人へも迷惑がかかり、これを繰り返すと、サーバ管理の方からアカウント停止処分やアカウントを削除されてしまいます。
つまり、今後容量の大きなゲームを作成したとしても、どこかアクセスの多いサイトに紹介された時点でアカウント停止処分になる恐れがあるため、そのゲームを公開することができなくなってしまうという事態におちいってしまっております。


更にもう一つ、転送量の問題の他に cgiへのアクセス過多も問題となっています。「OH! DANGO! JAM」にはネットワーク処理を用い、データの登録やランキング機能、他のプレイヤーのキャラクターと戦うことが可能な機能を盛り込んでおります。
cgiへのネットワーク処理で確かに作り的にややおざなりでまずい箇所があるので、そのところは修正する予定です。しかし、cgiはアクセスがあるたびに処理プロセスが発生するため、極力cgiへのアクセスを減らすような作りにしても、遊ぶ人が多ければ多いほどサーバに大きな負荷をかけることになってしまいます。
転送量は許容範囲内であってもcgiでサーバに高い負荷を与えると同じくアカウント停止/削除処分になってしまいます。


これら転送量問題とcgiの問題が解決しない限り「OH! DANGO! JAM」の再公開は見送りです。
アクセス過多対処として、ゲームファイルにアクセスする数に制限をかける、といったことがよさそうな気がしますが、そのようなことは可能なのですかなあ。多くの人に遊んでもらいたいが制限をかけねばならないというのはジレンマでありますが。

他に、ゲームデータの問題としまして、サーバを移行することになった際は まこと申し訳ないことに皆さんの今まで遊んでもらったデータをリセットすることになってしまうかもしれません。「OH! DANGO! JAM」はFlashのSharedObjectという機能を用いてデータ保存機能を実現させているのですが、ファイルを設置しているドメインが変更されると、異なるドメインのファイルデータを呼び出すことができなくなってしまうのです…


ああ、どないしましょう。

[ ETC ] [ FLASH ] [ info ] 投稿者 siratama : 2006年06月23日 19:46

トラックバック

http://www.dango-itimi.com/blog/mt-tb.cgi/852

コメント

ローカル版とか・・・・・

無理ですかね。。。

投稿者 通りすがり : 2006年06月24日 04:48

個人でサーバをたててそこに設置...。
ミラーサーバとかにして、複数のサーバに分散できれば
転送量減らせないかな....?

投稿者 夜行 : 2006年06月24日 09:42

OH! DANGO! JAMはキャラを育成するだけにするとか。
カバゴンクエストみたいに。

そして別に「OH! DANGO! JAMで育てたキャラ同士で対戦できるゲーム」を作るとか。


もしくは、時間や転送量である程度ゲームに規制をかけるしかないですね…

投稿者 とうりすがり(殴 : 2006年06月24日 10:06

OH! DANGO! JAMはキャラを育成するだけにするとか。
カバゴンクエストみたいに。

そして別に「OH! DANGO! JAMで育てたキャラ同士で対戦できるゲーム」を作るとか。


もしくは、時間や転送量である程度ゲームに規制をかけるしかないですね…

投稿者 とうりすがり(殴 : 2006年06月24日 10:09

もしサーバの移転を考えるなら、ローカルに保存されている情報をドラクエの「ふっかつのじゅもん」のように暗号化して画面に表示して、移転先で入力してもらって、旧ドメインのデータを引き継ぐというのはどうでしょうか。
(すると別のPCまたはブラウザからでもプレイが続行できるという特典付き!?)

投稿者 Karasimiso : 2006年06月24日 10:53

fastCGIを使うなりしてCGIの実行回数を減らしたりとか
データのキャッシュ化や圧縮を工夫して転送料減らすとか
ユーザーによって転送するサーバーを振り分ける仕組みとか
どれにしても一台は自宅サーバーか、専用サーバーが必要だと思いますね〜

投稿者 saicologic : 2006年06月24日 10:55

みなさんどうもご意見ありがとうございます!

サーバ移行先として「さくら」というところがよさそうな気がしました。
http://www.sakura.ne.jp/
月1000円で一日10GB、月1500円で一日30GBの転送量目安となっているようです。
これで転送量の問題はなんとかまかなえるかもしれません。
後はcgiの問題ですが 極力負荷のかからないような作りにしてみるしかないです。
「さくら」は負荷がかかると503エラーがでるというところでも有名なようですが…


>通りすがりさん
FlashPlayer8の仕様により、ダウンロードしたswfでネットワーク処理を行うものは、遊ぶ前に少し面倒な手続きが必要になってしまうのです。
個人的には、ブラウザで開いたら即遊べる というものが理想なのですが、公開しないよりはローカル版を作って遊んでいただくほうがよいのかもしれませんね。

>夜行さん
個人サーバは私には少しハードルが高そうです。
ミラーサーバとなると、フリーのCGI可のサーバをいくつか借りることになりそうですが、フリーとなると広告が表示されることになりそうで抵抗があるかもしれません。
ミラーサーバとして安いレンタルサーバをいくつか借りるという手もありそうですね。
ただ、どれか一つアクセスが集中し警告無しにアカウント削除された場合、他のサーバで遊ぼうとしてもセーブデータが引き継げないということが難点でしょうか。

>とうりすがり(殴 さん
cgi負荷軽減のために、最悪の場合ユーザデータ登録はなくす、という方針でいくことを考えております。他のプレイヤーデータと遊べるというのは、たいしてゲーム性には関係なく、おまけみたいなものなので。
となるとカバゴンクエストと同じようなものになりそうですね。

転送量で規制をかける方法というのが、どうすればいいのか今の私では調べないとわからない状況です。転送量に応じて制限を自動でかけることができるのであれば、その方法をとってみることも考えたく思います。

>Karasimisoさん
ふっかつのじゅもん、今のゲームの作りですとちょっとむつかしいかもしれない状況なのです。SharedObjectを改造されゲームデータを書き換えられてしまうという問題があったのですが、これを回避するため簡単には改造できないような仕組みにしているのです。
しかし、ふっかつのじゅもんのシステムはいずれ必要になるかもしれないので、研究することも考えたく思います。

>saicologicさん
fastCGI、どこかで聞いたことがあります。普通の安いレンタルサーバでは無理っぽいですね。自宅サーバの手間を考えるのであれば、専用サーバを借りることを考えるかもしれません。しかしやはりちょっとお高いですかなあ。

投稿者 siratama : 2006年06月24日 18:45

現在私は「さくら」のプレミアムを利用しています。
参考になるかと思い書かせていただきます。

私のHPには高負荷のCGI(ゲーム&チャット等)を掲載し
一日最大のHIT数は500前後といったところです、
(ここと比べるとかなり落ちるのですが^^;ほとんどがゲームに対してのアクセスです・・・汗)

転送量は最大で600000KBytesといったところでしょう。

サーバの機能も十分で重くなることもまったくないですね、
ただ50G超となるとわかりませんが・・・

色々なところ試しましたが料金が高く要領が大きくても
転送量が極端に少ないところもありますので
有料鯖としてはそこそこ使えるところだと思います。

あくまで一さくら鯖利用者の意見です

投稿者 renki : 2006年06月26日 08:01

>renkiさん
どうも、参考にさせていただきました!
早速さくらに申しみサーバ移行を完了させました。
転送量許容量がすごいので、それなりに結構な負荷がかかってもいけそうですね。
cronを使用できるようなので、今後これを利用してcgi負荷軽減を図る研究もしてみたいと思います。

投稿者 siratama : 2006年06月29日 22:19

以下コメントを書き込むだけでは、管理人には通知が行われません。通知を行いたい場合、管理人の書き込みに「返信」を押してコメントをしていただくか、あるいは Google+, Twitter へご連絡ください。




[EDIT]