
Em primeiro lugar, não sou um administrador de sistemas, apenas um programador frustrado com o baixo desempenho do servidor…
No momento, estamos executando uma VM (acredito que o host seja o Win Server 2008) em uma CPU E5-2650 mais recente, 24 GB de RAM, pelo menos de acordo com a caixa de diálogo Propriedades do sistema. Não posso dizer com certeza quais recursos a VM SQL possui porque só tenho acesso a ela e não ao host. Desculpe, não conheço muito bem. Também não quero fazer com que nosso administrador de sistema atual sinta que estou pisando em seu calo fazendo um monte de perguntas se não for necessário. Eu só quero defender a atualização se isso ajudar ...
Estamos executando o SQL Server 2008 r2, todos os nossos clientes são Win 7 ou RC por meio de um servidor de terminal executando 2008. Nosso aplicativo tem muito banco de dados, principalmente quando você considera o tamanho de nossa organização.
Portanto, minha principal pergunta é: atualmente estamos executando o Windows Server 2003 r2 sp2. A atualização para o Server 2008 r2 (ou mais recente) poderia melhorar visivelmente o desempenho? Eu li que, devido aos seus recursos mais recentes, ele pode melhorar o desempenho em outros lugares, mas não vi ninguém comentar sobre o desempenho do banco de dados.
Em caso afirmativo, há alguma evidência que eu possa usar para apoiar meu argumento?
Além disso, como estamos executando o SQL 2008 r2 e nossos clientes são Win 7, quais drivers de banco de dados nossos clientes devem ter instalados? O que o servidor deve ter instalado?
Se eu precisar elaborar alguma coisa, por favor, comente.
Responder1
Possível duplicata de: Como você faz testes de carga e planejamento de capacidade para bancos de dados?
Você precisa trabalhar com a equipe de administradores de sistemas para medir e identificar os gargalos atuais. Se é difícil interagir com ele, eu simpatizo e isso é uma droga; você precisará descobrir a melhor forma de trabalhar com ele. Será uma boa ideia ter uma descrição sólida do problema, com casos de teste reproduzíveis, em vez de "é lento!" Além disso, use Perfmon e SQL profiler; pelo pouco que você nos contou, o problema pode ser índices ruins e a culpa é sua. Depois de saber o que o SQL considera lento, você poderá descobrir se é o código, o layout do banco de dados, IO lento, CPU sobrecarregada, etc.
Depois de saber quais são os gargalos, você poderá ver se o Win2k8 R2 ajudará.
Dica: provavelmente não.
Pensamento adicional: por que você está olhando para o 2008 R2 e não para o 2012 R2?
Responder2
Ok, básico:
A menos que você fale de 2003 R2 de 32 bits, as diferenças serão mínimas.
Regra um para bancos de dados - a vida e a morte por IO e as VMs normais são totalmente inadequadas para trabalhos pesados de IO. Não porque as VMs sejam ruins, mas porque uma configuração de VM é uma configuração geral. É como conseguir um carro alugado padrão e tentar participar de uma corrida - os servidores de banco de dados SQL geralmente são projetados em torno do subsistema de disco.
Provavelmente você tem um subsistema de disco totalmente subdimensionado - tente obter sua latência (ms/solicitação); se for maior que um dígito baixo, isso afetará o desempenho da consulta. Às vezes, tudo bem (se você fizer uma consulta de relatório, basicamente IRÁ sobrecarregá-la), mas para qualquer coisa transacional.... Também aposto que você tem o log nos mesmos discos. Porque em uma VM você não tem controle real de onde as coisas são armazenadas.
O sistema operacional fará a diferença, mas será bem pequeno comparado a esse fato. Não que eu executaria algo em um servidor de 2003 atualmente e demitiria qualquer administrador que atualizasse para 2008 R2 em vez de 2012 R2. Mas pode haver políticas em empresas maiores que atrapalhem isso;)