Como escalar um sqlserver 2008

2

Estou trabalhando em um projeto de site que também tem um aplicativo de back-end. Ambos os projetos dependem de uma instância do SQL Server 2008. Se ambos os aplicativos estiverem executando o sql-server, isso se tornará um afunilamento severo. Infelizmente, não é possível aumentarmos a escala (não é possível adicionar mais potência no computador que está executando o sql-server) e agora buscamos outras maneiras de melhorar o desempenho.

Estamos usando o Windows 2008 com a edição corporativa do sql-server 2008 em várias caixas virtuais.

    
por Eugeniu Torica 07.09.2009 / 17:20

5 respostas

2

Se o servidor atual não puder ser dimensionado, talvez seja necessário mover para um servidor maior. Parece que você está executando o SQL Server em uma VM, o que pode ser feito, se feito corretamente. Se não for feito corretamente, sua vida será um inferno.

Antes de analisar o grande projeto de expansão do banco de dados, você precisa verificar o desempenho do banco de dados e certificar-se de que tudo está indexado corretamente e que todas as suas consultas estão sendo executadas da melhor maneira possível.

Supondo que eles estejam, procure um servidor mais novo. Se você tiver atualmente 2 vCPUs na máquina, precisará de 2 licenças de CPU do SQL. Olhe para um servidor com 2 CPUs quad ou 6 core nele. Desta forma, o seu licenciamento não muda e você só precisa pagar pelo novo hardware.

Como você determinou que o seu SQL Server é um gargalo e que precisa expandir sua implantação?

    
por 08.09.2009 / 00:14
2

Este white paper é um bom ponto de partida:

Desempenho e Escala do SQL Server 2008

Incluído neste documento:

  • Introdução
  • Otimizando o desempenho com o SQL Server 2008
  • Ampliando com o SQL Server 2008
  • Dimensionamento com o SQL Server 2008
  • Conclusão

link

    
por 08.09.2009 / 12:18
1

O dimensionamento normalmente envolve a refatoração profunda do aplicativo original. Normalmente, é uma operação sutil que vem com algumas medidas perf.

Se você tiver um aplicativo que seja apenas "somente leitura" no banco de dados, poderá configurar um espelho do SQL Server que serviria a consultas "somente leitura" para reduzir a pressão do servidor principal.

Em seguida, você também pode procurar índices ausentes. Um único índice ausente pode tornar seu desempenho infeliz.

Por fim, se você tiver consultas pesadas não críticas, poderá adicionar algumas instruções NO LOCK para agilizar o tempo de consulta (mas esse método deve ser usado com cuidado, pois os resultados retornados podem ser parcialmente inconsistentes).

    
por 07.09.2009 / 17:30
1

Como outros sugeriram, a maneira mais barata e fácil de melhorar o desempenho do SQL Server é ajustá-lo ao desempenho . IMHO as licenças adicionais do SQL Server envolvidas na expansão desqualifica-o como uma opção, a menos que seu banco de dados seja um VLDB e esteja em execução no mais recente & maior hardware.

Supondo que você tenha otimizado o SQL Server o máximo que puder, então você tem as seguintes opções:

Aqui está um excelente artigo da Microsoft que discute os prós e contras de usar cada um dos essas opções.

    
por 08.09.2009 / 00:33
0

Otimize suas consultas SQL.

Aqui está um artigo da Microsoft que o guiará -

link

    
por 07.09.2009 / 17:26