NetMsmqBinding.MaxBufferPoolSize 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
채널로부터 메시지를 수신하는 메시지 버퍼 관리자가 사용하도록 할당된 최대 메모리의 크기를 가져오거나 설정합니다.
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
속성 값
메시지 버퍼 관리자가 사용할 수 있는 최대 메모리(바이트)입니다. 기본값은 524288(0x80000)바이트입니다.
예제
다음 코드에서는 MaxBufferPoolSize 속성을 설정하는 방법을 보여 줍니다.
NetMsmqBinding binding = new NetMsmqBinding();
binding.MaxBufferPoolSize = 524000L;
설명
BufferManager는 버퍼 풀을 사용하여 버퍼 사용 비용을 최소화합니다. 버퍼는 메시지가 채널에서 나올 때 서비스를 이용하여 그 메시지를 처리해야 합니다. 버퍼 풀에 메시지 로드를 처리하기에 충분한 메모리가 없는 경우 BufferManager에서는 CLR 힙으로부터 추가 메모리를 할당해야 하며, 따라서 가비지 수집 오버헤드가 증가합니다. CLR 가비지 힙으로부터 다량의 할당이 이루어지는 경우 버퍼 풀 크기가 너무 작은 것이므로, MaxBufferPoolSize 제한을 늘려 더 크게 할당하면 성능이 향상될 수 있습니다.