'Buffer pool extension'에 해당되는 글 1건

  1. 2014.06.30 [MSSQL 2014 새로운 기능] Buffer pool extension
분류없음2014.06.30 11:43

 

 

[설명]

   

SQL Server 2014에서는 Buffer Pool의 영역을 RAM 뿐만 아니라 디스크의 영역 까지 넓혔습니다.

해당 기능은 두 가지 정도의 이점을 얻을 수 있습니다.

  1. 기존 데이터를 가져오는 방식의 step을 줄일 수 있습니다.(메모리->디스크->메모리)
  2. Standard Edition의 경우에는 지원하는 Memory가 제한이 되어 있는 데, 이러한 부분에 대한 고민을 해소 시켜 줄수 있을 것입니다.

단, 주의 사항이 있습니다. 이러한 Buffer Pool을 SSD와 같이 I/O가 높은 디스크에 구성을 해주셔야 원하는 Buffer Pool 성능을 낼 수 있습니다. 그리고 이 기능을 적용 했다가, Disable을 할 경우에는 인스턴스를 재시작 해야하기 때문에 반드시 운영 환경을 고려하고 적용하길 권고 드립니다.

   

   

[구성]

   

--테스트를 위해, 메모리 적절하게 설정을 합니다.

EXEC sp_configure 'show advanced options', 1

reconfigure

   

EXEC sp_configure 'max server memory (MB)', 1024;

EXEC sp_configure 'min server memory (MB)', 1024;

GO

RECONFIGURE;

GO

   

   

--C:\ BPoolEx 폴더를 생성합니다.

   

--buffer pool Extension 적용합니다.

ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION

ON (FILENAME = 'C:\BPoolEx\BPEFILE.BPE', SIZE = 4 GB);

GO

 

 

 

--BPE 상태 확인

select * from sys.dm_os_buffer_pool_extension_configuration

   

   

--테스트 테이블 생성

SELECT * into dbo.FactResellerSales_BP FROM FactResellerSales WHERE 1=0 --테스트 테이블 생성

GO

   

--DMV 확인하면서, 테스트 데이터를 입력합니다.

INSERT INTO dbo.FactResellerSales_BP WITH(TABLOCK)

SELECT * FROM dbo.FactResellerSales

GO 20

   

   

-- sys.dm_os_buffer_descriptors 새로 추가된 컬럼으로 buffer pool Extension 있는 페이지를 확인할 있습니다.

select * from sys.dm_os_buffer_descriptors where is_in_bpool_extension = 1

   

   

--메모리를 다시 원상 복구 합니다.

EXEC sp_configure 'max server memory (MB)', 2048;

EXEC sp_configure 'min server memory (MB)', 2048;

GO

RECONFIGURE;

GO

   

   

[참고]

   

http://msdn.microsoft.com/en-us/library/dn133176.aspx

   

   

 

신고
Posted by TM ~ing