3

サーバー側のキャッシュを使用している ASP.NET Web アプリケーションの開発を積極的に行っており、スケール テスト中にこのキャッシュのサイズを監視する方法を理解しようとしています。キャッシュにはさまざまなサイズの XML ドキュメントが格納され、その中には数メガバイトのものもあります。

System.Web.Caching名前空間のSystem.Web.Caching.Cacheオブジェクトには、「キャッシュに格納されているアイテムの数」を取得するCountや「キャッシュに使用できるバイト数」を取得するEffectivePrivateBytesLimitなど、さまざまなプロパティがあります。キャッシュ。" キャッシュのバイト単位のサイズは何もわかりません。

『.NET Framework アプリケーションのキャッシュ アーキテクチャ ガイド』ガイドの「キャッシュ テクノロジについて」セクションには、一連のアプリケーションをリストした表 (表 2.2: キャッシュを監視するためのアプリケーション パフォーマンス カウンター) を含む「キャッシュ オブジェクトの管理」セクションがあります。パフォーマンス カウンターを確認しましたが、キャッシュの現在のサイズを示すものはありません。

このキャッシュのサイズを見つける良い方法は何ですか? キャッシュにバイト制限を設定し、いずれかのターンオーバー レートを確認する必要がありますか? この問題を間違った方法で考えていますか? ASP.Netキャッシュの合計サイズを決定する方法に対する答えは本当に最善の方法ですか?

4

1 に答える 1

1

私はそれを読むまで、あなたがあなたの質問で言及している回答について、あまり詳細ではない説明をしようとしていました. 私はあなたにこれを紹介します、私にはぴったりのようです。サーバーの物理サイズを確認するよりも良い方法はありません。それ以外は正確ではない可能性があります。

いくつかの監視を設定したい場合があります。そのためには、Powershell スクリプトを使用して記録し、レポートで自分自身に送信すると便利です。このようにして、さまざまなテストを一晩実行して要約することができます。

余談ですが、非常に大きなドキュメントがメモリ キャッシュに格納されているように思えます。これらの大きなアイテム用にディスクベースのキャッシュを検討し、より理想的な小さなアイテム用にメモリを残すことを検討しましたか? ディスクが適度に高速な場合、これはかなりのパフォーマンスを発揮するはずです。

于 2009-09-12T14:47:03.590 に答える