다음을 통해 공유


NetMsmqBinding.MaxBufferPoolSize 속성

정의

채널로부터 메시지를 수신하는 메시지 버퍼 관리자가 사용하도록 할당된 최대 메모리의 크기를 가져오거나 설정합니다.

public:
 property long MaxBufferPoolSize { long get(); void set(long value); };
public long MaxBufferPoolSize { get; set; }
member this.MaxBufferPoolSize : int64 with get, set
Public Property MaxBufferPoolSize As Long

속성 값

Int64

메시지 버퍼 관리자가 사용할 수 있는 최대 메모리(바이트)입니다. 기본값은 524288(0x80000)바이트입니다.

예제

다음 코드에서는 MaxBufferPoolSize 속성을 설정하는 방법을 보여 줍니다.

NetMsmqBinding binding = new NetMsmqBinding();
binding.MaxBufferPoolSize = 524000L;

설명

BufferManager는 버퍼 풀을 사용하여 버퍼 사용 비용을 최소화합니다. 버퍼는 메시지가 채널에서 나올 때 서비스를 이용하여 그 메시지를 처리해야 합니다. 버퍼 풀에 메시지 로드를 처리하기에 충분한 메모리가 없는 경우 BufferManager에서는 CLR 힙으로부터 추가 메모리를 할당해야 하며, 따라서 가비지 수집 오버헤드가 증가합니다. CLR 가비지 힙으로부터 다량의 할당이 이루어지는 경우 버퍼 풀 크기가 너무 작은 것이므로, MaxBufferPoolSize 제한을 늘려 더 크게 할당하면 성능이 향상될 수 있습니다.

적용 대상