4

MVC 4(Razor)Webサイトがあり、セッションプロバイダーとoutputCacheプロバイダーの両方でAzure Cache(Preview)(Co-Located)を有効にしました。私がそれを有効にしたので、各Web要求は大規模なCPUスパイクを引き起こし、デバッグ中に3〜5秒のページ応答時間をもたらします。

問題をoutputCacheプロバイダーに絞り込みました。web.configで無効にすると、サイトは正常に動作します。CPUスパイクはありません。私はまだページ出力キャッシュを使用していません...したがって、読み取り/書き込みは発生しないはずです。セッションプロバイダーは、Azure Cache(プレビュー)を介して正常に実行されます。以下は私のoutputCache設定です。無効にすると、サイトはCPUスパイクなしで実行されます。何かご意見は?

<caching>
  <outputCache defaultProvider="DistributedCache">
    <providers>
      <add name="DistributedCache" type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" />
    </providers>
  </outputCache>
</caching>
4

1 に答える 1

4

問題はWeb最適化フレームワークが原因のようです。デフォルト以外のキャッシュプロバイダー(Azure Cache Previewなど)に対してサーバーキャッシュが有効になっていません。そのため、リクエストが行われるたびに、Webサーバーを再バンドルする必要があり、これがCPUスパイクの原因になっています。Microsoft.AspNet.Web.Optimizationの将来のバージョンでは、サーバーキャッシュが再び有効になるはずです。

これがCodePlexの問題です。

于 2012-11-14T22:59:15.463 に答える