O SQL Server parece estar recebendo 40 GB de RAM, mas continua lendo o disco… Por quê?

1

Por isso, aloquei 40 GB de RAM para o SQL Server.

Posso ver que depois de executar uma consulta no banco de dados, esse limite de memória será rapidamente preenchido durante a primeira execução, mas quando fizer a mesma consulta, não haverá impacto no desempenho, mas o SQL ainda será lido no disco rígido de RAM.

Banco de dados inteiro é de 42 GB (55 milhões de linhas, 18 colunas, 1 tabela, resultado médio após consulta ~ 80 linhas (usando TOP e ordem para selecionar as próximas 80 linhas)), tamanho máximo alocado em RAM é 40 GB. >

SQL Server 2008 R2, DataCenter do Windows 2008 R2 ...

Exemplo de consulta:     select * from DB..Table onde Column A > 333 e coluna B > 3333 e coluna C como '% test%' order by username

Como força o SQL Server a usar dados armazenados na RAM?

Talvez seja melhor criar um disco RAM de 42GB e mover toda a base de dados para lá ???

Atualmente estou usando 15k 4x 450GB SAS em RAID 0 (não há desempenho suficiente em RAID10, além de fazer backups a cada 6 horas), mas parece que algo está errado em uma unidade (~ 150MBps (normalmente 520MBps)) Atualmente estou aguardando a entrega de 4x SSDs que eu quero usar em RAID 0 e esperançosamente alcançar pelo menos 1.2GBps (1x SSD atinge com este banco de dados ~ 570MBps).

Como posso usar essa RAM como parece que o SQL Server está apenas desperdiçando-o sem qualquer benefício para o desempenho ...

Este banco de dados não está recebendo muitas consultas, mas cada consulta é bastante grande, com muitos 'where's'.

A CPU é 2x Xeon E5645 e não é o gargalo (quase sempre 10-15% de uso durante a execução de consultas)

Esta é uma tabela de resultados calculada e criada a partir de duas outras tabelas (cada uma com mais de 1TB de dados) e o crescimento previsto é de ~ 20GB por dia até ~ 300 milhões de linhas, infelizmente não consigo alcançar um desempenho confortável: (

    
por mike86 05.07.2015 / 08:06

0 respostas

Tags