SQL Server Page Life Expectancy (PLE)
-
Version : SQL Server 2005, 2008, 2008R2, 2012, 2014
SQL Server Page Life Expectancy(PLE)는 페이지 참조 없이 데이터가 버퍼 풀에 남아 있는 시간으로 성능 카운터의 SQL Server:Buffer Manager, SQL Server:Buffer Node에서 현재 값을 확인 할 수 있다.
-
SQL Server:Buffer Manager / Page life expectancy : 페이지가 참조 없이 버퍼풀에 남아 있는 시간(초)
-
SQL Server:Buffer Node / Page life expectancy : 페이지가 참조 없이 노드에서 버퍼풀에 남아 있는 시간(초).
여기에 표시되는 값으로 버퍼풀에 데이터가 머무르는 시간을 확인 할 수 있다. 하지만 여기에서 나타내는 PLE 값이 정말 유용한 정보인지 생각해 보아야 한다. 오늘날의 대부분 시스템들은 NUMA를 사용한다. 그래서 버퍼 풀은 각 NUMA 노드로 분리된 자신의 버퍼풀 목록을 관리한다.
Buffer Manager: Page life expectancy카운터는 각 노드의 버퍼풀의 PLE를 추가한 다음 평균을 계산한다. 이 수치는 우리가 생각하는 산술평균보다 값이 낮다. (버퍼 관리자의 비율 평균 : http://en.wikipedia.org/wiki/Harmonic_mean). 이 뜻은 각 NUMA 노드에서 어떤 일이 일어나는지 진정한 의미가 부여 되지 않음을 의미한다.
예를 들어 8 NUMA 노드에서 PLE가 4000이면 전반적인 PLE는 4000이다.
4 / (1/(1000 x 4000) + 1/(1000 x 4000) + 1/(1000 x 4000) + 1/(1000 x 4000)) / 1000 = 4000 |
하나의 노드 PLE가 2200으로 떨어지면 전체는 3321이 된다.
4 / (1/(1000 x 2200) + 1/(1000 x 4000) + 1/(1000 x 4000) + 1/(1000 x 4000)) / 1000 = 3321 |
하나의 노드 PLE가 200으로 떨어진다면 전체는 695가 된다.
4 / (1/(1000 x 200) + 1/(1000 x 4000) + 1/(1000 x 4000) + 1/(1000 x 4000)) / 1000 = 695 |
이 수치는 서버가 전반적으로 강한 압력을 받고 있다고 생각되지만 하나의 노드를 제외한 나머지는 아무런 문제가 없다. 따라서 버퍼풀의 압력에 대한 정확한 뷰를 확인하여면 각 노드에서의 PLE를 확인하여 경고에 대한 적절한 임계값을 찾아야 한다.
[참고자료]
http://www.sqlskills.com/blogs/paul/page-life-expectancy-isnt-what-you-think/
http://blogs.msdn.com/b/psssql/archive/2015/05/14/sql-server-page-life-expectancy-ple.aspx
2015-05-20 / 강성욱 / http://sqlmvp.kr
Sqlserver, mssqlserver, Page life expectancy, PLE, 버퍼풀, buffer pool, NUMA
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server I/O 서브시스템 레이턴시 확인 (0) | 2015.07.23 |
---|---|
실행계획의 물리 및 논리연산자 설명 (0) | 2015.07.23 |
백업 압축과 추적플래그 3042 (0) | 2015.07.23 |
SQL Server에서 MySQL 링크드서버 연결하기 (0) | 2015.07.23 |
SOS_SCHEDURLER_YIELD 대기와 쿼리 식별 (0) | 2015.07.23 |