0

cloudBlobClient.BufferManagerに関する MSDN のドキュメントには、このバッファー マネージャーが大規模なアプリケーションのパフォーマンスを向上させることが記載されています。

私の理解では、このバッファー マネージャーは、多くの小さなトランザクション (多くの Azure テーブル エンティティ呼び出しに見られるように) の GC への負荷を軽減します。

次に、デスクトップの使用に関するリファレンスを読みましたが、デスクトップ/モバイルの使用プロファイルでは、GC の断片化が発生する可能性が低いようです。

IBufferManager インターフェイスは、System.ServiceModel.dll の BufferManager クラスに基づいてパターン化されているため、デスクトップ クライアントは、フレームワークによって提供される既存の実装を簡単に活用できます。

質問

  1. IBufferManager の唯一の目的は、GC の負荷を軽減することですか?

  2. このキャッシュの恩恵を受けるのは、どのワークロード (テーブル、キュー、BLOB) ですか?

  3. IBufferManager を実装する必要がある (測定可能な) 条件は何ですか?

  4. BufferManager はスレッドセーフですか? 必要に応じて割り当てるバッファーのランタイム サーバー側プールを使用できますか?

  5. この bufferManager をどのように実装する必要がありますか? (例: スレッド、IDisposable、静的メソッドの事前割り当て、Redis)

4

1 に答える 1