0

IIS 7 を使用しており、ポート 43xxx に Web サイトを展開しています。wcat を使用して負荷テストを実行しようとしています。URL /directaccess/ にアクセスしようとすると、ステータス コード 302 が返され、別の URL にリダイレクトされます。別の URL も 302 ステータス コードを返し、その後、最後の URL は 200OK を返します。

wcat のシナリオと設定ファイルを作成しました。ポートを43xxxに設定するためにデフォルトで指定されています(また、リクエストごとに試行されました)が、wcatを実行すると、1つの302 OKと別の400エラーが返されます(それらは同じ数で返されるため、最初のリクエストは問題ないと推測しています) 、およびその後の(最初のリダイレクト)は悪いです)。

また、HTTPErr フォルダーを調べてログを確認したところ、2 番目の URL であるはずの GET 要求がポート 80 で行われたことを示す 400 エラーが多数あり、要求で指定した 43xxx ではありません (またはデフォルト設定-ドキュメントからよく理解できれば、リダイレクトで継承されます)。

これが wcat の「通常の」動作であるかどうかを確認したいだけです。最初のリクエストと同じポートでリダイレクトに従わない。

ローカル マシンでテストしているという事実は無視してください。これは、テストを別のマシンに移動する前にセットアップするためだけに使用しました。

これが使用されたシナリオです。

scenario
{
warmup   = 2;
duration = 5;
cooldown = 2;

default
{
    setheader
    {
        name    = "Connection";
        value   = "keep-alive";
    }

    version     = HTTP11;
    statuscode  = 200;
    close       = ka;
    port = 43111;
    redirect = true;
}

transaction
{
    id = "root transaction";
    weight = 100;

    request
    {
        url = "/login/DirectAccess.rails?code=xxxxxxxxx";
        statuscode = 302;
        redirect = true;
        port = 43111;
    }

    sleep
    {
        delay = 1000;
    }
}
}
4

1 に答える 1

2

サーバーが 302 リダイレクトのLocationヘッダーで送り返す内容に依存すると思います。ドメイン名が含まれていない場合 (例: Location: /redirect/to/page )、WCAT はドメインまたはポート番号を変更せず、同じポート番号を使用し続けます。ただし、Locationヘッダーにポート番号のない完全なドメイン名 (例: Location: http://www.thissite.com/redirect/to/page ) が含まれている場合、WCAT はポート 80 を使用するように切り替えます。

于 2011-10-20T20:58:13.403 に答える