Estamos mudando para dois servidores de um servidor devido a problemas de desempenho. Como monitoramos o valor dessa mudança?

3

Estamos mudando para dois servidores de um servidor devido a problemas de desempenho. Estamos movendo nosso MySQL DB para seu próprio servidor dedicado e manteremos a máquina original como a máquina front end executando o nginx / apache (Django backend.)

Como monitoramos o valor dessa mudança? É possível que todo o nosso site fique mais lento, já que as consultas do MySQL estarão saindo por uma conexão remota segura, em vez de localmente?

    
por MikeN 03.03.2011 / 20:59

3 respostas

3

Mover o banco de dados para sua própria máquina é muito comum e, se feito corretamente, deve ajudar consideravelmente seu desempenho.

No entanto, estou preocupado com sua "conexão remota segura". Normalmente, o banco de dados deve estar no mesmo data center (e até mesmo no mesmo rack, no mesmo switch) que o seu servidor web. Eu acredito que a frase apropriada aqui é "bem conectada". Quando você diz, "conexão remota segura", eu tenho imagens de vpn para algum lugar que sabe o quão longe. Isso é provável que seja um problema.

Se, ao que parece, esses dois servidores não estão tão bem conectados, algumas coisas que você deve fazer para garantir que o site permaneça responsivo é verificar a latência média entre eles. Uma maneira rápida e suja de fazer isso é apenas fazer ping de um para outro, para que ele continue em execução e observe os horários. Os meus são quase todos de 1ms ou < 1ms, com os ocasionais 2ms ou 3ms. Se você está vendo números muito maiores, convém repensar isso.

    
por 03.03.2011 / 21:22
1

Eu executaria alguns benchmarks usando algo como ab ( ApacheBench ) ou cerco antes e depois movendo o servidor MySQL para ver qual é o efeito da rede.

É possível que mover o MySQL para um servidor externo realmente tenha um desempenho pior, mas depende do tipo de consultas que você está executando e exatamente a que distância o novo servidor de banco de dados está. Se estiver dentro do mesmo datacenter em uma linha de 100 Mbps / 1 Gbps, não esperaria uma diminuição no desempenho. As chances são de que mover o MySQL para seu próprio servidor ajudará apenas devido à "duplicação" do total de RAM / CPU que você possui.

    
por 03.03.2011 / 21:09
1

Geralmente, ter o servidor de banco de dados longe do que está sendo usado é uma má ideia. É claro que se as suas consultas forem complexas e retornarem pequenas quantidades de dados, pode estar tudo bem, mas como você está executando o Django, espere muitas consultas e, portanto, muita transferência e latência.

Uma maneira simples de avaliar o desempenho geral do site é com Fiddler . É uma ferramenta que se insere como um proxy entre o seu navegador e os sites que você está acessando. Eu achei muito útil para medir o desempenho geral do site. Embora isso não meça diretamente a latência adicionada desse movimento de banco de dados, você deve conseguir uma comparação decente, e é indolor fazer isso.

    
por 04.03.2011 / 16:55