Faço parte de uma pequena empresa, cobrindo, como de costume, várias funções diferentes. O último deles é a aquisição de uma caixa dedicada do SQL Server para nosso aplicativo Web .NET. Fomos citados em uma configuração de CPU dupla Xeon E5-2620 (seis núcleos) de 2,00 GHz (12 núcleos no total), com 32 GB de RAM. Isso nos deixou um orçamento limitado para a matriz de discos, que consistiria basicamente em duas unidades SAS de 300 GB de 2,5 "(15k RPM) em uma configuração RAID 1.
Eu sei que a configuração do disco não é ideal para o SQL Server e eu realmente gostaria de usar o RAID 10 para que possamos colocar o banco de dados, os arquivos de log e o tempdb em suas próprias unidades. Para tornar isso compatível com nosso orçamento, devo considerar reduzir o número de núcleos de CPU? ou eu ficaria melhor com o banco por manter os núcleos e usar menos unidades, talvez 4 em uma configuração dupla de RAID 1?
Aqui estão algumas estatísticas adicionais
O banco de dados do SQL Server é inclinado para um número alto de leituras para gravações, provavelmente 80% vs 20%, respectivamente. O tamanho atual do banco de dados é de cerca de
10 GB e26 GB no momento, crescendo a uma taxa de 250 MB por mês.Atualmente em execução no SQL Server 2008 R2 Standard em uma única caixa Xeon de quatro núcleos compartilhada com o servidor Web (12 GB de RAM, 2 x 10k unidades SAS de 300 GB no RAID 1), procurando migrar para o SQL Server 2012 Standard.
O banco de dados atende a aproximadamente 100-150 usuários simultâneos, com algumas tarefas de agendamento em segundo plano. Lendo isso, estou pensando que 12 núcleos são um sério exagero!
Implantei o aplicativo inteiro em um serviço de nuvem do Azure (2 pequenas instâncias) vinculado a um banco de dados do SQL Azure. Embora o desempenho fosse razoável ao testar (carga quase nula), perdi a coragem de usar na produção devido à imprevisibilidade sobre a qual eu havia lido tanto. Pode funcionar melhor com uma abordagem de escalabilidade horizontal, mas com apenas um banco de dados de 10 GB, eu provavelmente posso continuar escalando agora e economizar algum dinheiro.
Inicialmente, ignorei os custos de licenciamento e não percebi que o licenciamento do SQL Server 2012 se baseia no número de núcleos. Eu tenho uma assinatura do BizSpark MSDN com uma licença do SQL Server 2012 Standard, então eu precisaria ler quantos núcleos isso usaria imediatamente.