O que devo fazer quando preciso de mais um servidor?

5

Se eu tiver um site hospedado no servidor linux. Assumindo que o site usa PHP e banco de dados MySQL. Se eu precisasse de um dia para adicionar outro servidor para suportar o desempenho do site, o que devo fazer nesse período? Preciso realizar uma edição não-livre do MySQL? Como posso fazer o banco de dados MySQL armazenar dados entre os dois servidores? E como posso conectar os dois servidores?

    
por Goma 30.03.2011 / 09:56

5 respostas

10

Supondo que estamos falando de um sistema de produção que deve escalar no infinito, essas são as regras:

  1. O desempenho deve ser medido.
  2. Não espere escalabilidade sem design.

Certifique-se de entender o que está acontecendo. Eu suponho que este é um sistema LAMP em uma caixa Linux. Algumas ferramentas para ajudá-lo a medir o desempenho: onop, collectd, iostat, vmstat, iptraf, netacct. Se você estiver usando um frontend do Apache, ative o log da solicitação de ida e volta (consulte LogFormat% D). No mysql, ative o registro de consultas lentas e defina o limite baixo (por exemplo, 5 segundos) para que você possa capturar as consultas problemáticas antes que os usuários as notem. Use o mysqlreport para ver se você deve mudar sua configuração do mysql. Insira instruções de log em seu código PHP que são acionadas se partes relevantes demorarem mais do que o aceitável para serem concluídas. Use, e. logwatch para monitorar logs de tais linhas e notificá-lo quando elas ocorrerem.

Depois de entender quais partes do seu sistema produzem carga, comece a olhar para o seu projeto para torná-lo mais modular. Em seguida, você cria ferramentas para medir o desempenho de cada módulo isoladamente para garantir que ele atenda aos seus requisitos de desempenho.

    
por 30.03.2011 / 10:41
4

Não se preocupe com o desempenho do seu sistema até ter medido e encontrado um problema.

Se você deve medir e encontrar o banco de dados seu gargalo, o primeiro passo deve ser mover o banco de dados para um servidor separado da sua instalação do PHP. Isso lhe dará muito espaço extra. A menos que você esteja lidando com um banco de dados muito grande, ou consultas muito caras ou uma quantidade muito alta de usuários, um único servidor é, na maioria dos casos, suficiente. Apenas certifique-se de ter memória suficiente para armazenar todo o banco de dados na memória. As instalações SQL de servidor único são muito mais fáceis de lidar e geralmente oferecem melhor desempenho para seu dinheiro.

    
por 30.03.2011 / 10:16
3

Investigue e instale algum tipo de sistema de monitoramento agora. Saiba como seu sistema responde a várias cargas e o que começa a ter um desempenho ruim à medida que a carga aumenta. Isso permitirá que você tome uma decisão informada sobre o que precisa ser feito quando chegar a hora.

    
por 30.03.2011 / 10:12
1

Uma maneira simples de escalar o MySQL é configurar a replicação mestre-escravo e escrever diretamente no mestre e ler para o escravo. A edição corporativa não é necessária, pois isso é suportado na edição da comunidade.

Aqui está o howto do MySQL: link

    
por 01.04.2011 / 20:44
0

Existem algumas maneiras de fazer isso. Você pode examinar a replicação do Master-Master para o Databasing e Round Robin para o DNS. Deve ser gratuito, sem licenças.

    
por 30.03.2011 / 10:03

Tags