BLUE PROTOCOL の負荷テスト参加。アプリがスタックオーバーフローで起動できなかった件

マッチング負荷テスト実施について|BLUE PROTOCOL
BLUE PROTOCOL の負荷テスト参加はしたのですが、まともに起動できませんでした ・ω・

bp4

テスト開始から数十分でサーバーが落ちたのはまぁ、仕方ないのですが
bp3
ゲーム画面、これブラウザですね・ω・

<html><head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx</center>

<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
</body></html>

ログイン画面とかで右クリックするとソースが見えるのはどうなのか。

bp6
英語モードにすると、出て来るCookieの確認画面…謎い

プレイできなかったというのは、
ログインすると不定期にクラッシュするんです

bp7
このあたりまでたどり着けるならよい方で

bp9
ここまでたどり着けたのは30回ほど起動して2回だけ。

デバッグしてみたら、スタックオーバーフローでクラッシュしていました。
bp8
調べてみると、64bitアプリケーションなのにスタックコミットが4Kのままです。
ちなみに、Windows 2000のIE6もスタックコミットが 4Kのままなので、ちょっと複雑なコンテンツのあるサイトに行くと、スタックオーバーフローが原因でクラッシュします。それ以降の IEだと56Kが割り当てられています。(スタックコミットを拡張した魔改造版のパッチを適用するとWin2000でクラッシュするサイトが一部見えるようになるのを確認しています)

ちなみに、リザーブは、多Process、多スレッドで実行された時に予約されるスタックの仮想メモリサイズの全合計、という認識で、コミットは1プロセスで使用できる最大スタックだと考えています。

スタックの消費は、導入してるドライバや常駐しているCOMオブジェクト、セキュリティソフトなどで増減するので、多めに取っておくのがセオリーですね・ω・

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です