- - PR -
負荷テストでSession変数がクリア
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-08-16 10:40
お世話になります。
通常動作では、正常に動作するのですが、負荷テストツールで実行するとSession内容が クリアされエラーになってしまいます。 いろいろ調べてみましたが、理由がわからず、投稿させていただきました。 宜しくお願い致します。 動作環境 サーバー Windows2000Server IIS5.0 Framework1.1 SP1 テストクライアント Windows2000Pro テストツール Microsoft Web Application Stress Tool 画面遷移内容 1 ログイン画面表示 2 ユーザをSession変数保存 3 メニュー画面表示 ←Session変数がクリアされてるため表示不可となります (仕様でエラー画面表示するようにしております) IISログを確認し、1件目からエラーになっておりました。 手入力による通常テストでは、動作確認しております。 ご教授をお願い致します。 |
|
投稿日時: 2005-08-16 11:23
1つめからSessionに入れた値が消えるなら、単にcoockieが使えないだけということが思いつきました。
SessionIDを表示させるとわかりますよ。 テストツール以外にSessionIDのログをとるようにするといいかもしれません。 _________________ たつごろー codeseek こみゅぷらす |
|
投稿日時: 2005-08-16 12:13
早速のご回答ありがとうございます。
SessionIDを表示してテストするように致します。 同じクライアントPCで、手入力作業とテストツールで動作が違うので SessionIDが違っていれば、テストツールで違うセッションで、処理を 行っていると考えられます。 試しに行って、上記の内容であれば、テストツールの仕様もしくは、 テストツールの環境設定で、変更ができるか調査いたします。 ありがとうございます。また、調査結果を報告させて頂きます。 |
|
投稿日時: 2005-08-16 12:47
お世話になります。
予想とは、まったくの結果になってしまいました。 以下の通りにSessionIDを出力するようにしましたが、同じSessionIDが引き継がれておりました。 1-1 ログイン画面表示 1-2 ユーザをSession変数保存 1-3 上記画面で、SessionIDログ出力 2-1 メニュー画面表示 2-2 上記画面で、SessionIDログ出力 2-3 エラー画面表示 手入力では、OKなのでやはりテストツールを疑うことしかないのです。 一応、VS.NETの負荷テストツールでテストを行って動作確認できそうなので そちらを使用することにしましたが、1ユーザで複数接続は可能ですが、複数の 場合は、VBScriptで複数ユーザの情報を書いてテストする必要があります。 理由がわからないので、空いた時間に調査します。 |
|
投稿日時: 2005-08-16 18:00
で、Session変数の中身はどこに保存しています?インプロセス(ワーカープロセス内)ですか?ステートサーバーですか?SQL Serverですか?
インプロセスの場合、ワーカープロセスの負荷が高くなり、プロセスが再起動されてSessionが失われます。そういう事ではなくて? |
|
投稿日時: 2005-08-16 22:20
"Web Application Stress Tool" は使ったことがないのですが、この現象は常に起きるのでしょうか?それとも負荷が高くなったような時にたまにだけ起きるのでしょうか?
もし常に起きるのならやっぱりツールの使い方が違うか、そういう仕様なのでしょうね。パケットをキャプチャーして cookie のやりとりを見ればなにか分かるかもしれません。 また、もしたまにだけ起きるのなら、やはり負荷テストツールがアプリケーションのバグを発見したと見たほうが適切かもしれません。 なお、アプリケーション固有の複雑な Session の使い方ではなく、テスト用に Session("foo") = "bar" みたいな感じの使い方でも確かめて見てはどうでしょうか。 |
1