다음을 통해 공유


SQL Server, 버퍼 매니저 개체

적용 대상: SQL Server

Buffer Manager 개체는 SQL Server에서 사용하는 방법을 모니터링하는 카운터를 제공합니다.

  • 데이터 페이지를 저장할 메모리입니다.

  • SQL Server가 데이터베이스 페이지를 읽고 쓸 때 물리적 I/O를 모니터링하는 카운터입니다.

  • 버퍼 풀 확장은 SSD(반도체 드라이브)와 같은 빠른 비휘발성 스토리지를 사용하여 버퍼 캐시를 확장합니다.

SQL Server에서 사용하는 메모리 및 카운터를 모니터링하면 다음을 확인할 수 있습니다.

  • 부적절한 실제 메모리로 인한 병목 현상이 있는 경우 자주 액세스하는 데이터를 캐시에 저장할 수 없는 경우 SQL Server는 디스크에서 데이터를 검색해야 합니다.

  • 메모리를 더 추가하거나 데이터 캐시 또는 SQL Server 내부 구조에서 더 많은 메모리를 사용할 수 있도록 하여 쿼리 성능을 향상시킬 수 있는 경우

  • SQL Server가 디스크에서 데이터를 읽어야 하는 빈도입니다. 메모리 액세스와 같은 다른 작업에 비해 실제 I/O는 많은 시간을 소비합니다. 실제 I/O를 최소화하면 쿼리 성능을 향상시킬 수 있습니다.

Buffer Manager 성능 개체

이 표에서는 SQL Server Buffer Manager 성능 개체에 대해 설명합니다.

SQL Server Buffer Manager 카운터 설명
Background Writer pages/sec 복구 간격 설정을 적용하기 위해 플러시된 페이지 수입니다.
버퍼 캐시 적중률 디스크에서 읽을 필요 없이 버퍼 캐시에 있는 페이지의 백분율을 나타냅니다. 비율은 마지막 몇 천 페이지 액세스에 대한 캐시 조회의 총 수로 나눈 총 캐시 적중 횟수입니다. 시간이 많이 지나면 이 비율은 일정해집니다. 캐시에서 읽는 것은 디스크에서 읽는 것보다 훨씬 저렴하기 때문에 이 비율이 높아야 합니다. 일반적으로 SQL Server에서 사용 가능한 메모리 양을 늘리거나 버퍼 풀 확장 기능을 사용하여 버퍼 캐시 적중률을 늘릴 수 있습니다.
버퍼 캐시 적중률 기준 내부 전용.
Checkpoint pages/sec 모든 더티 페이지를 플러시해야 하는 검사점 또는 기타 작업에 의해 초당 디스크로 플러시된 페이지 수를 나타냅니다.
데이터베이스 페이지 버퍼 풀에서 데이터베이스 내용이 있는 페이지 수를 나타냅니다.
확장 할당 페이지 버퍼 풀 확장 파일의 무료가 아닌 캐시 페이지의 총 수입니다.
확장 무료 페이지 버퍼 풀 확장 파일에서 사용되지 않은 캐시 페이지의 총 수입니다.
백분율로 사용 중인 확장 버퍼 관리자 페이지에서 차지하는 버퍼 풀 확장 페이징 파일의 백분율입니다.
확장 미해결 IO 카운터 버퍼 풀 확장 파일에 대한 I/O 큐 길이입니다.
Extension page evictions/sec 초당 버퍼 풀 확장 파일에서 제거되는 페이지 수입니다.
확장 페이지 읽기/초 초당 버퍼 풀 확장 파일에서 읽은 페이지 수입니다.
확장 페이지 참조되지 않은 시간 페이지가 참조되지 않은 채 버퍼 풀 확장에 남아 있는 평균 시간(초)입니다.
Extension pages writes/sec 초당 버퍼 풀 확장 파일에 기록된 페이지 수입니다.
무료 목록 중단/초 사용 가능한 페이지를 기다린 초당 요청 수를 나타냅니다.
정수 컨트롤러 기울기 버퍼 풀의 정수 컨트롤러가 마지막으로 사용한 기울기(-100억 번)입니다.
Lazy writes/sec 버퍼 관리자의 지연 기록기가 기록한 초당 버퍼 수를 나타냅니다. 지연 기록기 는 에이징된 더티 버퍼(다른 페이지에 버퍼를 다시 사용하려면 해당 변경 내용을 디스크에 다시 써야 하는 버퍼)의 일괄 처리를 플러시하는 시스템 프로세스이며 이러한 버퍼를 사용자 프로세스에 사용할 수 있게 합니다. 지연 기록기는 사용 가능한 버퍼를 만들기 위해 자주 검사점을 수행할 필요가 없습니다.
Page life expectancy 페이지가 참조 없이 버퍼 풀에 남아 있는 시간(초)을 나타냅니다.
Page lookups/sec 버퍼 풀에서 페이지를 찾기 위한 초당 요청 수를 나타냅니다.
Page reads/sec 초당 발급되는 실제 데이터베이스 페이지 읽기 수를 나타냅니다. 이 통계는 모든 데이터베이스에서 실제 페이지 읽기의 총 수를 표시합니다. 물리적 I/O는 비용이 많이 들기 때문에 더 큰 데이터 캐시, 지능형 인덱스 및 보다 효율적인 쿼리를 사용하거나 데이터베이스 디자인을 변경하여 비용을 최소화할 수 있습니다.
Page writes/sec 실행한 물리적 데이터베이스 페이지 초당 쓰기 수를 나타냅니다.
Readahead pages/sec 사용 예상 초당 읽은 페이지 수를 나타냅니다.
Readahead time/sec readahead를 발급하는 데 소요된 시간(마이크로초)입니다.
대상 페이지 버퍼 풀에 이상적인 페이지 수입니다.

예시

sys.dm_os_performance_counters 동적 관리 뷰에서 이 T-SQL 쿼리를 사용하여 이 개체의 쿼리 성능 카운터를 탐색하기 시작합니다.

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%';