5
  1. mvc ミニ プロファイラーは、すべての応答時間を HttpRuntime キャッシュに格納していると思います。
    私が間違っている場合はお知らせください。もしそうなら、このキャッシュの上限はいくらですか? キャッシュがいっぱいになる前に、いくつの操作をプロファイリングできますか? テストスイートの操作をプロファイリングするためにミニプロファイラーを使用していますが、テストスイートは時間の経過とともに大きくなるため、この点が心配です。私は心配する必要がありますか?

  2. 関連メモで。すべてのテストがプロファイリングされたら、ミニ プロファイラーのクラスでSaveメソッドを呼び出すだけです。SqlServerStorageまた、すべての応答時間は SQL サーバー データベースに保存されます。Saveプロファイラーを何度も開始および停止することなく、より頻繁にメソッドを呼び出す方法はありますか? テスト スイートの開始時に開始し、すべてのテストのプロファイリングが終了したら終了します。テーブルへの 1 つのエントリをMiniProfilers1 つのプロファイリング セッションと見なします。呼び出されるたびに新しいメソッドが必要になるため、現在、「保存」メソッドを複数回呼び出すことはできませんMiniProfilerId

助言がありますか?

4

1 に答える 1

1

私はミニ プロファイラに直接精通しているわけではありませんが、キャッシュについてはかなりの経験があります。HttpRuntime.Cache プロパティは、System.Web.Caching.Cache クラスへの参照を提供します。オブジェクトキャッシュの実装です。通常、このキャッシュは静的であるため、インスタンスは 1 つしかありません。Web.Configを使用して、このキャッシュの動作を構成できます。ファイル。Windows キャッシュについて留意すべき点がいくつかあります。これを使用すると、メモリ不足エラーが発生することはありません。キャッシュには、キャッシュがどれだけいっぱいになるかを示すメモリ値のパーセンテージがあります。メモリ使用率がその上限に近づくと、最も古いタッチされたオブジェクトから始めて、キャッシュからオブジェクトを選別し始めます。したがって、最初の質問に対する簡単な答えはノーです。メモリの制限について心配する必要はありません。マネージ言語の主なセールス ポイントの 1 つは、メモリの消費について心配する必要がなく、フレームワークに処理させることです。

#2に関しては、私はそれについて心配しません。キャッシュは応答オブジェクト自体を破棄する可能性がありますが、プロファイラからの結果集計に既に含まれているのではないかと思います。そのため、詳細に調べたい場合を除き、元の要求オブジェクト自体は必要ありません。

簡単に言えば、実際の問題が発生しない限り、これについてはもう心配しません。キャッシュにその仕事をさせて、キャッシュを構築したエンジニアが何をしているかを知っていると信頼してください。

于 2013-07-11T16:19:02.440 に答える