Abaixo está mais para minha compreensão sobre como interpretar os dados dos meus contadores perfmon para 2 servidores de banco de dados com estrutura de aplicativo diff, mas tipo de carga de trabalho semelhante
O servidor A tem um total de 1 TB de RAM com bancos de dados de aproximadamente 10 TB com métricas abaixo por meio de configuração de nó de 4 NUMA
O servidor B tem um total de 1 TB de RAM com bancos de dados de aproximadamente 16 TB com métricas abaixo por meio de configuração de nó de 4 NUMA
O servidor B tem mais memória MAX atribuída a ele devido ao tamanho dos bancos de dados serem grandes. Sim, eu sei que as configurações de memória MAX podem ser melhoradas um pouco melhor, mas planejaria mais tarde se eu pudesse entender melhor os números acima para memória roubada e estrangeira.
O que esses números me dizem quando vejo que a memória externa parece ser de aproximadamente 50 GB para um servidor e roubada sendo 150 GB em outro servidor, onde a externa parece ser de 5 GB.
Desculpe pela minha falta de conhecimento aqui, mas alguém pode orientar sobre a melhor maneira de interpretar esses dados e quais possíveis alterações se pode pensar em ajustar aqui?
Memória roubada refere-se à memória que está sendo usada para algo diferente de buffer, que poderia ser usada para buffer se não estivesse sendo usada para outra coisa. Veja porque o SQL Server 2012 ainda precisa do "Stolen Server Memory (KB) . Para minimizar a quantidade de memória roubada, seria necessário otimizar as consultas para que elas usem o mínimo de memória possível. Por exemplo, se houver uma classificação desnecessária, que pode usar parte dessa memória.Se for um servidor de relatórios, meu palpite é que você terá que contabilizar uma certa quantidade de memória roubada.
Memória externa refere-se à memória do trabalhador que está em um nó NUMA remoto. Veja como funciona: SQL Server (NUMA Local, Foreign and Away Memory Blocks) . Quando a memória é estrangeira, demora um pouco mais para acessá-la e o impacto depende do seu sistema e da velocidade dos componentes. Para minimizar, você deve certificar-se de ter a configuração NUMA e o grau máximo de paralelismo definidos corretamente.