O banco de dados SQL tem desempenho significativamente melhor em uma máquina dedicada em relação à nuvem do Azure?

2

Estou procurando dividir nosso servidor de banco de dados e servidor de aplicativos e estou avaliando ofertas da Rackspace e Azure especificamente em torno do servidor de banco de dados. Somos uma aplicação Web Saas e o desempenho e a capacidade de crescimento futuro é o que é importante para nós.

A Rackspace me disse que é importante que o desempenho tenha uma máquina dedicada ao SQL Server e, mais importante, que não haja camada de virtualização entre o SO e o HDD. ie. Outra palavra para isso é uma configuração "Bare Metal".

O evangelista do Azure disse que eles não têm problemas para executar o SQL Server em uma máquina virtual que é a única locatária da máquina física e que eles refinaram essa configuração para obter uma taxa de transferência muito maior (3-4x) do que a Rackspace alcançaria através de sua camada de virtualização (VMWare, aparentemente).

O Azure é muito mais barato e parece ter uma história melhor a longo prazo em termos de expandir o banco de dados facilmente. Eu estou indo para alcançar os ganhos de desempenho que eu estou depois com a camada de virtualização no lugar? Quem está falando a verdade? Há alguma estatística de desempenho ou whitepapers onde eu possa pesquisar ou comparar mais.

    
por Dan 22.08.2012 / 07:56

1 resposta

2

Bem, o SQL roda terrivelmente devagar no meu Compaq PC de 1993 (com 33Mhz e 4Mb de RAM), mas muito bem em uma VM guest ESX com 8 vCPUs, 64GB de RAM e um FC SAN conectado ao disco.

Então, depende das especificações das suas máquinas.

Sendo o restante igual, um servidor de banco de dados no bare-metal superará o virtualizado, mas em qual grau específico realmente depende de uma infinidade de configurações e padrões de uso - da máquina, do sistema operacional e do próprio servidor SQL (e você não Não mencione nada disso). A única maneira real de obter uma resposta precisa é fazer benchmarks, o que parece que vai desperdiçar muito dinheiro para dizer que você já sabe - o desempenho virtualizado é pior até certo ponto, com o principal fator determinante sendo o disco I / O. (É de onde vem o número de throughput de 3-4x - a E / S de disco pode ser de 3 a 4 vezes mais lenta por meio de uma camada de virtualização do que por unidades diretamente conectadas).

Quanto essa diferença depende realmente de "ganhos de desempenho", especificamente , você precisa sair do seu servidor de banco de dados. Você não diz, então ninguém imagina quais são suas necessidades de desempenho. Sem métricas de desempenho sólidas para analisar, não é possível dizer de uma forma ou de outra. E, qualquer que seja o caminho, você realmente precisará dessas métricas se quiser construí-las desde o início.

No que diz respeito à escalabilidade, você pode obter uma escalabilidade bastante agradável para um servidor SQL a partir de uma caixa bare-metal nos dias de hoje, o que pode ser algo a ser levado em consideração ... Aposto que você pode obter muita E / S um banco de dados fora de um desses , e se você especificar corretamente o seu modelo de servidor base, não deve ter problemas para adicionar CPUs ou RAM adicionais ou discos tradicionais / armazenamento anexado.

Então, realmente, parece que muito mais pesquisa de sua parte é ordem, pelo menos no que diz respeito às suas necessidades (e restrições monetárias) antes de se decidir por qualquer solução.

    
por 22.08.2012 / 09:10