SQL Server 2008 da Web VS SQL Server 2008 Enterprise

1

Eu escrevi um aplicativo há alguns meses e o estava hospedando em uma estação de trabalho com um processador Intel Core 2 Quad Q8200 a 2,33 GHz, 8 GB de RAM, Windows Server 2008 Enterprise e SQL Server 2008 Enterprise. O servidor da Web e o servidor de banco de dados foram executados na mesma máquina.

Tivemos um enorme influxo no tráfego e movemos o ClubUptime.com e obtivemos duas de suas principais VMs do Windows. O servidor de banco de dados executa o Windows 2008 R2 Standard e o SQL Server 2008 R2 Web com 8 GB de RAM e um Intel Xeon e5620 a 2.40 GHz.

Desde que mudou, o banco de dados que costumava rodar em torno de 400MB de RAM agora roda em torno de 4-7GB, e não houve nenhuma alteração (exceto algumas colunas aqui e ali). Nosso tráfego quadruplicou, e nosso banco de dados é de 6 GB em disco, por que o SQL Server ocuparia 7 GB se o banco de dados tivesse apenas 6. E por que ele armazenaria o banco de dados INTEIRO na memória?

Outra coisa é por que crescer 4 vezes em tamanho a memória da base de dados cresceu 12 vezes?

Última pergunta: Por que a CPU está 100% agora onde não estava antes? O design é simples, muito poucas junções, sem subconsultas. Eu estou apenas em uma perda, a menos que seja a edição do servidor SQL, ou o fato de que mudei de hardware real para uma VM.

    
por Jeremy Boyd 23.12.2010 / 16:12

1 resposta

4

O SQL Server usará o máximo de memória possível para que eu não perca muito tempo com a memória ocupada, a menos que haja outros problemas. Se puder, armazenará a coisa toda, a RAM é sempre mais rápida que o disco e, se não estiver sendo usada para mais nada, por que não?

A execução de SQL em uma VM pode ser problemática. Ele funciona bem, mas existem êxitos de desempenho com a virtualização e, como muitas pessoas comentaram, o SQL é afetado por isso de forma mais significativa do que a maioria dos outros aplicativos. Depende muito da sua instância de VM também - se o Hypervisor for um host do VMware vSphere, ele terá um desempenho melhor com recursos reais equivalentes do que o Xen, se for suportado pelo Hyper-V e as taxas de contenção forem baixas (como em muito poucas VMs). no host), então pode ser muito bom. Os únicos sistemas que eu já tive para virtualizar foram servidores SQL.

Você não especifica quantas CPUs virtuais estão fornecendo para sua VM, duvido muito que você esteja obtendo todos os 8 núcleos que o Xeon 5620 pode apresentar para uma VM. Mesmo se você for isso, pode não ser o ideal. No geral, uma VM com 4 vCPUs nessa plataforma deve ser capaz de corresponder à sua plataforma física anterior supondo que o Xeon 5620 seja 30% melhor relógio para clock do que o Core 2 Quad de onde você veio, mas se realmente depende do Hypervisor subjacente, configuração do sistema host e quanta contenção existe de outras VMs hospedadas no mesmo Hypervisor.

Você geralmente não pode confiar nos contadores de desempenho dentro de uma VM, ou pelo menos não pode confiar neles para contar tudo. Você realmente precisa ter uma visão do desempenho do ponto de vista do hipervisor, a fim de dizer se sua VM realmente está atingindo 100% da capacidade da CPU real no sistema.

    
por 23.12.2010 / 16:38