SQL Server, objeto Gestor de Buffers

Aplica-se a: SQL Server

O objeto Buffer Manager fornece contadores para monitorizar como o SQL Server utiliza:

  • Memória para armazenar páginas de dados.

  • Contadores para monitorizar a E/S física enquanto o SQL Server lê e escreve páginas da base de dados.

  • Extensão do pool de buffer para estender a cache de buffer utilizando armazenamento rápido e não volátil, como discos de estado sólido (SSD).

Monitorizar a memória e os contadores usados pelo SQL Server ajuda-o a determinar:

  • Se existirem gargalos devido à memória física inadequada. Se não conseguir armazenar dados frequentemente acedidos na cache, o SQL Server deve recuperar os dados do disco.

  • Se o desempenho das consultas pode ser melhorado adicionando mais memória, ou disponibilizando mais memória para a cache de dados ou estruturas internas do SQL Server.

  • Com que frequência o SQL Server precisa de ler dados do disco. Comparado com outras operações, como o acesso à memória, a I/O física consome muito tempo. Minimizar as E/S físicas pode melhorar o desempenho das consultas.

Objetos de Performance do Gestor de Buffers

Esta tabela descreve os objetos de desempenho do SQL Server Buffer Manager.

Contadores do SQL Server Buffer Manager Description
Páginas/sec. Escritores de contexto Número de páginas limpas para impor as definições do intervalo de recuperação.
Rácio de acerto do buffer cache Indica a percentagem de páginas encontradas no buffer cache sem necessidade de ler do disco. A razão é o número total de acessos à cache dividido pelo número total de consultas de cache nos últimos milhares de acessos à página. Após um longo período de tempo, a proporção move muito pouco. Como ler do cache é muito mais barato do que ler do disco, queres que esta proporção seja alta. De um modo geral, pode aumentar a taxa de acerto do buffer cache aumentando a quantidade de memória disponível para o SQL Server ou usando a funcionalidade de extensão do buffer pool.
Razão base de acertos do buffer cache Apenas para uso interno.
Páginas de pontos de controlo/seg Indica o número de páginas limpadas para o disco por segundo por um checkpoint ou outra operação que exige que todas as páginas sujas sejam limpas.
Páginas da base de dados Indica o número de páginas no buffer pool com conteúdo da base de dados.
Páginas atribuídas por extensão Número total de páginas de cache não livres no ficheiro de extensão do buffer pool.
Páginas sem extensões Número total de páginas de cache livres no ficheiro de extensão do buffer pool.
Extensão em uso em percentagem Percentagem do ficheiro de paginação da extensão do pool de buffers ocupada pelas páginas do gestor de buffer.
Contador de E/S pendente da extensão Comprimento da fila de I/O para o ficheiro de extensão do pool de buffers.
Despejos/sec da página de extensão Número de páginas expulsas do ficheiro de extensão do buffer pool por segundo.
Leituras da página de extensão por seg Número de páginas lidas do ficheiro de extensão do pool de buffers por segundo.
Página de extensão tempo sem referência Segundos médios por página permanecem na extensão do buffer pool sem referências a ela.
Páginas de extensão escritas por seg Número de páginas escritas no ficheiro de extensão do buffer pool por segundo.
Listas grátis de bloqueios/seg Indica o número de pedidos por segundo que tiveram de esperar por uma página livre.
Inclinação do controlador integral A inclinação que o controlador integral para o pool de buffer usou pela última vez, multiplicada por -10 mil milhões.
Escritas preguiçosas/sec Indica o número de buffers escritos por segundo pelo escritor preguiçoso do gestor de buffer. O escritor preguiçoso é um processo de sistema que elimina lotes de buffers sujos e envelhecidos (buffers que contêm alterações que têm de ser escritas de volta no disco antes de o buffer poder ser reutilizado para outra página) e os disponibiliza aos processos do utilizador. O escritor preguiçoso elimina a necessidade de realizar checkpoints frequentes para criar buffers disponíveis.
Esperança de vida das páginas Indica o número de segundos que uma página permanecerá no buffer pool sem referências.
Consultas de páginas/sec Indica o número de pedidos por segundo para encontrar uma página no pool de buffer.
Leituras de página/seg Indica o número de leituras físicas da página da base de dados emitidas por segundo. Esta estatística mostra o número total de páginas físicas lidas em todas as bases de dados. Como a E/S física é cara, pode conseguir minimizar o custo, seja usando uma cache de dados maior, índices inteligentes e consultas mais eficientes, ou alterando o design da base de dados.
Page writes/seg Indica o número de escritas físicas na página da base de dados que são emitidas por segundo.
Páginas de leitura antecipada/seg Indica o número de páginas lidas por segundo em antecipação à utilização.
Tempo/segundo de leitura antecipada Tempo (microssegundos) gasto a emitir readahead.
Páginas alvo Número ideal de páginas no buffer pool.

Example

Começa a explorar os contadores de desempenho das consultas neste objeto usando esta consulta T-SQL na vista sys.dm_os_performance_counters gestão dinâmica:

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