1

ASP MVC4WindowsAzureアプリケーションがあります。アプリケーションは機能していますが、MVC4と最新バージョンのAzureライブラリに移行してから、起動時間が非常に遅いことに気付きました。ログファイルで次のことを確認しました。

移行前:

'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\SMDiagnostics\v4.0_4.0.0.0__b77a5c561934e089\SMDiagnostics.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Diagnostics.ServiceModelSink\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Diagnostics.ServiceModelSink.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Auto-attach to process '[8120] w3wp.exe' on machine 'X301' succeeded.
'w3wp.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'w3wp.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'w3wp.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

移行後:

Microsoft.WindowsAzure.ServiceRuntime Information: 101 : Role environment . INITIALIZED
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'
'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Code K\ 2\\csx\Debug\roles\WebUx\approot\bin\WebUx.dll', Symbols loaded.
'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Mvc\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'
'WaIISHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Code K\ 2\\csx\Debug\roles\WebUx\approot\bin\EntityFramework.dll'
Microsoft.WindowsAzure.ServiceRuntime Information: 200 : 'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'

ここで重要なのは、移行した後、出力ログにiisexpress.exeを参照する多くの行が表示されることです。

誰かが私にこれについていくつかのアドバイスを与えることができますか?iisexpressに変更された理由と、起動時間が4〜5倍遅い理由はありますか?

4

2 に答える 2

1

SDK 1.7(2012年6月)以降、WindowsAzureコンピューティングエミュレーターはデフォルトのWebサーバーとしてIISExpressを使用します。代わりにフルIISを使用する必要がある/使用したい場合は、それを切り替えることができます-http://msdn.microsoft.com/en-us/library/windowsazure/jj156006.aspx

于 2012-09-05T16:41:33.453 に答える
1

IISExpressは、軽量のスタンドアロンWebサーバーであり、1.7以降のWindowsAzureSDKのデフォルトのWebサーバーです。この変更の背後にある考え方は、ユーザーが小さなフットプリントとオンデマンドの負荷でWebサーバーを操作するための柔軟性が大幅に向上することです。

このフォーラムでは、フルIISと比較してIISExpressでパフォーマンスの問題が発生する理由(4〜5回)について十分に議論しています。ScottGuは、IISExpressを使用する利点についてここで説明しているので、ぜひご覧ください。

理解に基づいて、@ mcollierによって提案されているように、WindowsAzureアプリケーションのWebサーバーとしてIISExpressまたはフルIISを選択できます。最後に、IISExpressを使用することを選択した場合、はるかに優れた仕事をするサービスとして実行すると、パフォーマンスを向上させることができます。

于 2012-09-05T18:58:03.473 に答える