2011-01-21 43 views
2

machine.configのprocessModelを変更するとIISエクスプレス統合モードアプリケーションに影響が出るのではないかと思いますが?machine.configとIISを持つprocessmodel

IIS ExpressとWindows 7の違いをWCATで比較していたため、maxWorkerThreadsを100以上に変更しようとしました。

IIS expressは、通常のIIS制限値10に対して同時に実行されている30以上の要求を示していますが、実際の合計要求は両方で比較可能であり、IIS expressはCPU使用率が非常に高く、通常のIISを待つ要求! CPUはクアッドコアi7で約70%しかありません。確かに最適化の余地はありますか?

詳細

私はIIS Expressは軽微秒あたりの高い要求を持っている http://d1yb9lkqglrfzu.cloudfront.net/IISExpress-100VU-MachineConfig.zip

  1. するには、Windows 7、同じスクリプトで実行するWCAT結果をアップロードし、総取引は、通常のIISよりも務めました。
  2. IIS Expressは一度に最大50の要求を実行しますが、Windows 7の通常のIISは設計通りに10に制限されています。
  3. IIS expressは、おそらく一度に処理する追加の要求のために、30%高いCPUを使用しています。
  4. 平均では、速達リクエストはになります。要求実行時間パフォーマンスカウンタと時間解析(最初と最後のバイト)を参照してください。 Expressは、一度に多くのリクエストを処理できるため、配信されたリクエストの合計でIISを破ることができます。

理論

  1. でしたIISの特急もトレース設定がどれもそれを減速しないことでラインウィンドウを命令する各要求を印刷しているという事実。

  2. IIS applicationhost.configにない、IIS express applicationhost.configに登録されている多くの追加モジュールに気付きました。追加のデバッグ/トレースモジュールが問題を引き起こしている可能性があります。

  3. IIS expressには、FileCacheおよびHTTPCacheモジュールがありません。それが理由だろうか?

IIS Expressが限定されていない場合、asp.netの専門家がこれらの結果がどのように可能であるかを明確にすることを望んでいます。

答えて

4

Machine.configの設定は、IISExpressで実行されているasp.netアプリケーションに適用されます。ちょうどあなたが.NETバージョンとのbitnessと一致することを確認してください(iisexpressは

  • %windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.configまたは
  • %windir%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config は、CLRのバージョンに基づいてファイルに正しいので、32ビットモードで動作します。編集しないでくださいFramework64ディレクトリの1つ

IIS Expressでは、接続自体が制限されませんが、OS自体にはいくつかの制限があります。 iis expressではパフォーマンスが最優先事項ではありません。 IIS Expressは意図的に実行を制限するものではありませんが、CPUを完全に利用する方法ではありません。 パフォーマンスオーバーヘッドの観測は面白いです。私はそれを引き起こしているかもしれないものを探求します。ループ内でシングルスレッドクライアントアプリケーションを実行して、IISとIIS Expressとの比較を確認しましたか。

+0

ご返信いただきありがとうございます。私はあなたがIISのエキスパートであることを理解しています。あなたはWCATの結果が非常に興味深いものになると思います。アプリケーションは、.NET 2.0統合アプリケーションプールを使用してIISとExpressの両方で実行されていました。おそらく、IIS Expressは余分なモジュールや追加のデバッグオーバーヘッドを追加します。しかし、上記の結果に基づいて、個人的なWebサーバーとしての表現は、実際にはWindows 7の下でIISよりもはるかに悪いかもしれません。 – Tuviah

+0

追加の注意点は、IIS 8/10 Expressには32と64の両方のバージョンがあり、代わりに.NET 4のmachine.configが使用されていることです。 –

関連する問題