Pergunta

Eu tenho dois servidores com o Windows 2008 Web Edition e SQL Server 2008 Standard Edition, como seria a melhor abordagem para balanceamento de carga-los?

Devo banco de dados usar o espelhamento ou envio de logs? É Win2008 NLB fácil de configurar por um desenvolvedor, já que eu não sou um administrador de sistemas?

O que eu estou procurando é ser capaz de ter meus sites em execução no caso de um único mau funcionamento do servidor, e também para ser capaz de facilmente adicionar mais servidores se a demanda cresce. Meus sites é executado em ASP.Net 3.5 e todos eles já armazenar a sessão no SQL Server.

Foi útil?

Solução

SQL Server por si só não suporta balanceamento de carga. Você pode ter failovers ativo / passivo com os mecanismos que você descreveu (espelhamento de banco de dados e envio de logs) e há um monte de outras opções também, como agregação ou replicação.

As duas perguntas para começar são:

  • Quanto tempo você pode dar ao luxo de estar para baixo? (Aka o Recovery Time Objective, ou RTO)
  • Quantos dados você pode dar ao luxo de perder? (Aka seu ponto de recuperação Objetivo, ou RPO)

Quanto mais tempo você pode dar ao luxo de ser para baixo e os mais dados você pode dar ao luxo de perder, então as soluções mais fáceis e mais baratos se tornar de implementar. Quanto menos tempo de inatividade e menos dados, mais difícil é implementar.

Por exemplo, o espelhamento de banco de dados síncrona irá garantir que você nunca perca uma transação. As transações são confirmadas em ambos os servidores de banco de dados antes do resultado é devolvido ao cliente. Infelizmente, você sofre um impacto de desempenho muito grande sob cargas pesadas, e não há utilitários de gerenciamento mínimas construídas em -. Você quer ter um DBA em tempo integral para gerenciar este tipo de coisa

No outro extremo, ingresse o transporte a cada 15 minutos significaria que você poderia perder 15 minutos de dados (ou mais) e pode levar 15-60 minutos para voltar online após uma falha. No entanto, é barato, tem um impacto muito baixo desempenho e é bastante fácil de configurar.

Eu tenho um RPO e RTO introdução mais em BrentOzar.com, e um introdução à HA e DR do SQL Server apresenta . Se você passar por aqueles, você estará mais bem armados para voltar e fazer perguntas mais específicas. Espero que ajude!

Outras dicas

dependendo do seu tipo de aplicação a primeira coisa que você deve fazer é começar as coisas de cache que não mudam muito no servidor web. Desta forma o seu banco de dados irá começar a batida menos. e servidores web são a forma mais fácil de escala que os bancos de dados.

Este é um artigo muito bom sobre o tópico.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top