3

IIS から 500.13 エラーを返す方法はありますか? 500.13 エラーのカスタム エラー ページをテストする必要があります。

4

5 に答える 5

5

IIS にエラーのシミュレーションが含まれているとは思いませんが、使用できるベンチマーク/ストレス テスト アプリケーションが存在します。これの唯一の欠点は、IIS が「壊れる」まで、実際に (テスト?) サーバーを実際のストレス下に置かなければならないことです

最初に、IIS アプリケーション プールのサイズを利用可能な最小値まで下げる必要があります。

IIS - アプリケーション プールのキューの長さ

Apache の JMeterを使用することをお勧めします。ハンドルを取得して使用するのは比較的簡単です。

ダウンロードして実行したら、ストレス テストを実行するための基本的な手順を次に示します。

  1. 「スレッドグループ」を追加-すべてを機能させるもの JMeter - スレッド グループの追加

  2. スレッド グループ パラメータの設定-ここでは、同時スレッド数 (つまり、ユーザー数) を設定します。 JMeter - スレッド グループ パラメータの設定

  3. HTTP リクエストをスレッド グループに追加-これはテストステップです。 JMeter - HTTP リクエストをスレッド グループに追加する

  4. HTTP 要求パラメーターを設定します。ここでは、Web アドレス (localhost、www.yourdomain.com など) と、必要なその他の構成を指定します。 JMeter - HTTP リクエスト パラメータの設定

  5. レポートの追加-レポートは、サーバーの要求と応答とともに結果を表示する方法です JMeter - レポートの追加

  6. テスト計画を実行して結果を表示する JMeter - テスト計画の実行と結果の表示


最後に、テストを実行して失敗を表示したら、好みのブラウザーでサーバーを参照して、結果をライブで表示できます。


編集

複数のコンピューター/サーバーにアクセスできる場合は、分散ストレス テストを試すこともできます。チュートリアルは、彼らのサイトで入手できます。

于 2013-02-27T16:50:44.760 に答える
3

コードから「サーバー ビジー」エラーを発生させることはできません。他の回答に示されているようにエラーコードをシミュレートできますが、「サーバービジー」エラーの全体的なポイントはコードを実行できないため、カスタムエラーページが正しく表示されるかどうかを判断することはできません-したがって、 IIS がこの種のエラーを発生させるために別のことを行うという非常に安全な仮定。

しかし、私が見る限り、500.13 エラーは ASP.NET アプリケーションではなく ASP によってスローされました。ASP.NET アプリケーションの代わりに、503 Service Unavailable エラーが表示されます。

次のコマンドで 503 ステータス コードをトリガーできます。

  1. IIS Management Studio を開き、[アプリケーション プール] に移動して、アプリケーション プールの [詳細設定] を開き、[キューの長さ] を 10 (最小) に変更します。
  2. ASP.NET アプリケーションで、への呼び出しを追加しますThread.Sleep(50000)
  3. ここで、Web サーバーをドキドキさせ始めます。すぐに 503 Service Unavailable エラーが返されます。
于 2013-02-27T16:43:43.567 に答える
1

フレームワークを使用して負荷をシミュレートできます。SeleniumGridが役立つ場合があります。

Visual Studio Team Systemも負荷をシミュレートできますが、無料ではありません。Visual StudioTeamSystemを使用した負荷テストをご覧
ください

于 2013-02-27T05:32:29.530 に答える
1

これを Page_Init イベントに入れます。

protected void Page_Init(object sender, EventArgs e)
{
    Response.Clear();
    Response.StatusCode = 500;
    Response.SubStatusCode = 13;
    throw new Exception();
}

customErrorsしかし、私の知る限り、 Web.config のセクションでサブコード エラーを設定する方法はありません。ただし、Global.asx Application_Error イベントでサブコードを確認できます。

int subCode = HttpContext.Current.Response.SubStatusCode;

ロジックに従えば、IIS エラーをシミュレートできます。

于 2013-02-26T15:39:47.837 に答える
0

これはStackOverflowに関する同様の質問です。これはあなたが達成しようとしていることと一致していますか?テストのためにIIS/.netでHttpステータスコードを偽造する

于 2013-02-28T03:11:29.417 に答える