8

同じスクリプトであるWindows7で実行されたWCATの結果をtsにアップロードしました。zipにXSLが含まれています。ごめん。

これが私が気づいたことです:

  1. IIS Expressの1秒あたりの要求数はわずかに多く、トランザクションの合計は通常のIISよりも処理されます。
  2. IIS Expressは一度に最大100の要求を実行しますが、Windows7の通常のIISは設計どおり10に制限されています。
  3. IIS Expressは、おそらく一度に処理する追加の要求のために、30%高いCPUを使用しています。
  4. ただし、平均してExpressリクエストの完了にははるかに長い時間がかかります。最大4倍長くなります。要求実行時間のパフォーマンスカウンターと時間分析(最初と最後のバイト)を参照してください。

IIS Expressは、一度により多くの要求を処理できるため、処理される要求の総数でIISを打ち負かすことができます。

何が起こっているかに関する理論:

  1. トレースが設定されていなくても、IIS Expressが各要求をコマンドラインウィンドウに出力しているという事実は、速度を低下させているのでしょうか。
  2. applicationhost.configまた、IISExpressに登録されているIISにはない追加のモジュールがたくさんあることに気づきましたapplicationhost.config。次に、余分なデバッグ/トレースモジュールが問題を引き起こしている可能性がありますか?
  3. IISExpressにはモジュールがないことに気付きFileCacheました。HTTPCacheそれが理由でしょうか?

asp.netの専門家が、IISExpressが制限されていない場合にこれらの結果がどのように可能になるかを明確にしてくれることを期待しています。

4

2 に答える 2

9

デフォルトでは、失敗した要求のトレースはIISExpressで有効になっています。無効にすると、パフォーマンスが向上する場合があります。(applicationhost.configのtraceFailedRequestsLogging要素にenabled = "false"を設定します)

于 2011-01-27T07:37:04.337 に答える
4

ドットの接続:http://forums.iis.net/p/1175052/1969390.aspx#1969390。iis.netフォーラムでも同じ質問があり、活発な議論が始まりました。

明確にするために、IIS Expressは主に、Cassini開発サーバー上で機能のスーパーセットを提供するWeb開発ツールとして意図されています。このリリースでは、パフォーマンスは最優先事項ではありませんでした。IIS Expressに接続制限がないことは事実ですが、XPの互換性にはコストがかかります。

  • 主に動的コンテンツを使用するアプリケーションの場合、IISExpressのオーバーヘッドは許容できるはずです。
  • 静的コンテンツが多いWebサイトの場合、http.sysカーネルキャッシングとユーザーモードキャッシングがないため、パフォーマンスに大きな違いが生じます。

stdoutをnulにリダイレクトしてみてください。それはあなたのパフォーマンスを少し高めるでしょう。

于 2011-01-26T06:48:10.023 に答える