Em um VPS que executa DB e IIS, devo limitar a RAM usada pelo SQL Server?

1

Eu tenho um Windows 2008 R2 VPS com 1 GB de RAM. Estou usando o VPS para executar o SQL Server 2008 Express e o IIS 7.5. Tenho notado que o SQL Server tende a usar o máximo de memória possível, em detrimento de outros aplicativos (e isso faz sentido com um servidor dedicado à execução do SQL Server). Devo definir um limite? Se sim, qual seria um nível razoável?

    
por Donald Hughes 16.04.2010 / 22:09

3 respostas

2

Sim, o SQL Server usará, por padrão e por padrão, o máximo de memória possível. E isso é realmente uma coisa boa - se você tem um servidor de banco de dados, você quer que ele seja executado o mais rápido possível.

É claro que, se você precisar executar outros aplicativos no mesmo ambiente, isso será um pouco complicado ... é sempre um compromisso: quanto mais você restringe o consumo de memória do SQL Server, mais difícil fica para o banco de dados servidor para fazer o seu trabalho. Eu não tenho nenhum dado e números que eu possa apresentar - mas 1 GB de RAM não parece muito para um SQL Server, na verdade. Limitar isso ainda mais definitivamente vai prejudicar o desempenho - os planos de consulta não poderão ser mantidos em cache por muito tempo, as páginas de dados terão que ser descartadas com mais freqüência e, portanto, serão novamente carregadas do disco.

Novamente: não há números concretos ou uma fórmula mágica para determinar quanta memória o SQL Server realmente precisa fazer bem o seu trabalho. Basicamente, você precisa medir seu desempenho - tanto para o SQL Server quanto para todos os outros aplicativos envolvidos - e, em seguida, tomar decisões com base nesses números de desempenho obtidos. Reduza o tamanho da memória para o SQL Server gradualmente e veja em que ponto ele realmente começa a doer mal - pode ser OK com 700M e começar a sugar a 450M ou o que for - não há realmente nenhuma maneira determinista de saber o quê. Ajuste, observe, meça e ajuste novamente - isso é tudo que você pode fazer!

    
por 16.04.2010 / 22:27
0

Idealmente, eu diria que consiga mais RAM e ofereça menos de 1 GB ao SQL Server.

Além disso, começaria dando metade ao SQL Server e veria o que dói mais, o banco de dados ou os outros aplicativos.

Na minha experiência, ele usará 250 MB imediatamente, e depois disso tudo é para o cache - mas algum grau de cache é essencial para um desempenho adequado.

    
por 17.04.2010 / 20:44
0

Mais ram estaria no topo da minha lista de compras! Lembre-se que o SQL Server Express usará apenas 1GB de memória RAM para seu buffer pool (o total usado pode ser maior, mas apenas 1GB para o pool). É claro que você pode limitar a memória máxima usada diretamente do estúdio de gerenciamento clicando com o botão direito do mouse no servidor, selecionando propriedades e indo para a página de memória, a opção é chamada de “Memória máxima do servidor (MB)”.     

por 19.04.2010 / 09:38