Servidor da Web e servidor de banco de dados em locais completamente diferentes

1

Quais são as implicações de desempenho de ter um servidor web (apache / php) e um servidor de banco de dados (mysql) em locais completamente diferentes com hosts diferentes.

Edit: É um aplicativo da Web intensivo de banco de dados para que cada página faça várias viagens ao banco de dados. O banco de dados é normalmente o gargalo em aplicativos da Web, apenas imaginando se a velocidade da rede é significativa quando comparada à velocidade típica das interações do banco de dados.

    
por user12077 08.07.2009 / 16:38

5 respostas

5

Isso depende muito da velocidade de conexão entre os dois locais. Algumas empresas têm backbones de alta velocidade entre seus datacenters, mas, a partir dos sons, você está analisando duas empresas diferentes. Desde que a conexão está indo através da Internet e linhas fora do controle de qualquer empresa, então não há uma resposta sólida para esta questão.

Eu evitaria isso se fosse possível. Se você realmente acha que essa é a melhor abordagem, procure algo como memcache para aliviar as consultas do banco de dados.

    
por 08.07.2009 / 16:43
4

Quais são as implicações de desempenho de ter um servidor web (apache / php) e um servidor de banco de dados (mysql) em locais completamente diferentes com hosts diferentes.

Sim, há implicações de desempenho e todas são negativas. Esse sistema pode funcionar, especialmente se os dois sistemas estiverem conectados por uma VPN com um Acordo de Nível de Serviço com base no tempo de atividade e no desempenho. Se você está apenas passando pela "nuvem", você não terá consistência no desempenho da rede e não haverá um <> gargalo a menos se a conectividade ou o desempenho ficarem inativos.

Basta saber se a velocidade da rede é significativa quando comparada com a velocidade típica das interações com o banco de dados.

Isso dependeria totalmente da sua velocidade de rede e do seu banco de dados e aplicativo.

Existem dois aspectos de desempenho de rede para considerar a latência e a taxa de transferência. Você precisa considerar os dois.

Por exemplo, os usuários geralmente terão paciência (até certo ponto) em esperar por uma consulta de pesquisa. Eles não serão pacientes para cada página carregar enquanto navegarem em um site. Embora ambos sejam vistos como latência da perspectiva do usuário, o primeiro exemplo pode ser ponderado pela taxa de transferência de rede entre o banco de dados e o servidor da Web, enquanto o segundo pela latência da rede.

Ou não! Apenas o teste dirá.

    
por 08.07.2009 / 20:42
2

Que tipo de consultas você está fazendo?

Se você estiver fazendo consultas complexas em que a velocidade da CPU é seu fator limitante, talvez ter uma conexão de sub 10mb / s com o banco de dados e alta latência não seja tão perceptível. (mas estes precisariam ser quer consultas muito complexas, ou em uma máquina muito fraca)

No entanto, você pode acelerar o processo fazendo cache na máquina do servidor, ou configurando um pequeno servidor de replicação mysql local para o servidor que contém cópias de qualquer dado acessado .

Embora ter toda a sua base de dados localizada remotamente terá implicações negativas no seu desempenho, tê-la co-localizada em dois locais definitivamente tem implicações benéficas do ponto de vista de recuperação de desastres.

    
por 09.07.2009 / 00:51
1

Isso precisa de mais detalhes. Pode haver muitas opções de conexão se elas estiverem em locais diferentes. Seria uma comunicação mais lenta, era uma conexão lenta e vice-versa. Há mais a esta pergunta? Quanta comunicação ativa está ocorrendo entre os dois servidores?

EDIT: Quais são suas opções de conexão? Quantos usuários você espera? Seu "banco de dados intensivo" pode funcionar para alguns usuários simultâneos, mas se o seu site obtiver muitos usuários, você terá um site lento. Você vai querer fazer muitos testes de carga no site, se essa for a sua única maneira de configurá-lo.

    
por 08.07.2009 / 16:50
0

Qual é o tamanho dos dados médios solicitados do servidor de banco de dados, qual é a sua largura de banda disponível entre os dois e quão intensamente trafegado é? Deve ser muito fácil descobrir se haverá um gargalo de parada.

    
por 08.07.2009 / 17:57

Tags