Melhor configuração de balanceamento de carga com o Windows 2008 e SQL Server 2008
-
05-09-2019 - |
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.
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.