PLE baixo no nó NUMA 000, alto em 001

10

Estou vendo o PLE (Expectativa de vida da página) nos nós NUMA em nossos servidores SQL e deparei-me com uma distribuição bastante estranha. O nó NUMA 000 tem um PLE muito baixo em comparação com 001. Não sei por que. Eu verifiquei vários outros servidores SQL em nosso ambiente e os outros servidores de produção não têm esse comportamento.

O sistema está executando o SQL Server 2012 Enterprise Edition no Dell m620 com 256 GB de RAM. É uma máquina de 2 soquetes e 6 núcleos (habilitada para HT). MAXDOP está definido como 6. Os módulos de memória AFAIK são instalados uniformemente nos bancos de memória das CPUs

Algo me diz que o nó 000 da NUMA tem outras tarefas SQL para executar, que outros nós, mas esqueci onde ouvi / vi.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Imagem PLE

@@Version shows: Microsoft SQL Server 2012 (SP1) - 11.0.3412.0 (X64)

Kasper Brandenburg
fonte
2
O PLE, por si só, conta pouco. Existem mais contadores, como o Buffer Node e o Memory Node, que podem lançar um pouco mais de luz. E, finalmente: existe um problema de desempenho ou isso é apenas uma curiosidade? Como analisar o desempenho do SQL Server
Remus Rusanu
@RemusRusanu: Se temos um problema de desempenho em nossas mãos, ninguém sabe :) estou perguntando por puro interesse.
Kasper Brandenburg
Se você stolen nodes memory KBvir o contador, seu valor é 97G, o que é um IMO muito alto. Memória roubada é a memória não utilizada para fins de banco de dados, mas pelo SQL Server para operações como classificação, hash e outras finalidades diversas. Por outro lado, o alvo e a memória total são os mesmos. Isso parece estranho. Você deve aplicar o SP2, mas tenho a sensação de que PLE pode estar sendo incorretamente calculado
shanky
Bem. Podemos ir SQL2014 visualizado em vez de instalar SP2
Kasper Brandenburg

Respostas:

1

Se você tiver uma consulta de leitura intensiva em execução em um nó NUMA (nesse caso, 0), poderá ter uma expectativa de vida da página menor em relação a outros nós NUMA.

Isso é totalmente normal.

Para ver quais consultas estão em execução no momento, você pode usar o excelente sp_WhoIsActive de Adam Machanic . É totalmente grátis. Algumas pessoas até o executam a cada X minutos e registram os dados em uma tabela para que eles possam voltar para ver o que estava sendo executado no momento em que o PLE estava sem acesso.

Brent Ozar
fonte
-1

Meu entendimento da arquitetura NUMA é que cada nó praticamente se isola. Nesse caso, eles podem acabar fazendo um trabalho muito diferente. Por exemplo, 0 pode estar executando consultas que exigem muita E / S física, enquanto 1 obtém sorte e encontra todos os seus dados no buffer pool.

SQL Nerd
fonte