AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 235185
Accepted
James Jenkins
James Jenkins
Asked: 2019-04-19 08:23:30 +0800 CST2019-04-19 08:23:30 +0800 CST 2019-04-19 08:23:30 +0800 CST

Como você pode ter uma taxa de acerto de cache de buffer de 100% com PLE de 103? [duplicado]

  • 772
Essa pergunta já tem respostas aqui :
Pressão de memória do SQL Prove - alta taxa de acertos do cache de buffer, mas baixa expectativa de vida da página (2 respostas)
Fechado há 3 anos .

Encontrei O que significa uma "taxa de acertos do cache do buffer" de 9990? ( Eu estava obtendo resultado de 9000+ de um blog que estava errado ) e usei a solução de LowlyDBA/Denis Gobo combinada com o verificador PLE de Denis Gobo e obtive uma taxa de acerto de cache de buffer de 100% com PLE de 103, como é isso possível?

A taxa de acerto do buffer chache de 100% está dizendo que 100% das páginas necessárias estão sendo encontradas na memória, mas o PLE está dizendo que as páginas estão ficando na memória apenas por alguns minutos.

Talvez haja algum valor de PLE, abaixo do qual a taxa de acerto de cache de buffer não agrega valor?

SELECT (a.cntr_value * 1.0 / b.cntr_value) * 100.0 as BufferCacheHitRatio
FROM sys.dm_os_performance_counters  a
JOIN  (SELECT cntr_value, OBJECT_NAME 
    FROM sys.dm_os_performance_counters  
    WHERE counter_name = 'Buffer cache hit ratio base'
        AND OBJECT_NAME = 'SQLServer:Buffer Manager') b ON  a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = 'Buffer cache hit ratio'
AND a.OBJECT_NAME = 'SQLServer:Buffer Manager'

SELECT *
FROM sys.dm_os_performance_counters  
WHERE counter_name = 'Page life expectancy'
AND OBJECT_NAME = 'SQLServer:Buffer Manager'

PLE 103

Por que eu me importo:

Minha instância é SQL 2017 CU13, OLTP pesado, com 4 GB de RAM para a instância SQL ( instância única, 6 GB de RAM no servidor ).

Eu sei que mais de 1,5 GB de RAM é dedicado ao Plan Cache, de acordo com algumas fontes dos 4 GB de RAM aqui, o Plan Cache deve ser capaz de usar 3 GB ( encontrei detalhes semelhantes em vários lugares, mas todos são antigos e nenhum é Microsoft )

Select ( SUM(size_in_bytes)) /1024 /1024 AS size_in_MB FROM sys.dm_exec_cached_plans

Ainda não usei nenhum xevents para medir o despejo do plano, apenas tentando entender as coisas.

sql-server performance
  • 1 1 respostas
  • 915 Views

1 respostas

  • Voted
  1. Best Answer
    Forrest
    2019-04-19T08:40:13+08:002019-04-19T08:40:13+08:00

    Buffer cache hit ratioe Buffer cache hit ratio basesão medidas para uma fatia de tempo muito pequena. Você acabou de executar sua consulta nos momentos em que as leituras recentes atingem o cache do buffer.

    Como prova, basta olhar para os valores brutos ao longo do tempo - eles sobem e descem.

    SELECT *
    FROM sys.dm_os_performance_counters
    WHERE counter_name IN ('Buffer cache hit ratio','Buffer cache hit ratio base')
    

    Eu recomendaria uma olhada em outras métricas (talvez sys.dm_io_virtual_file_stats?) para ver que tipo de IO você está conduzindo.

    • 4

relate perguntas

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

  • Onde posso encontrar o log lento do mysql?

  • Como posso otimizar um mysqldump de um banco de dados grande?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve