Instalação do Wordpress em dois servidores - Balanceamento de carga

14

Eu tenho que instalar o wordpress (um blog, um domínio, por exemplo, minhaempresa.com.br/blog) em dois servidores que compartilham um banco de dados em um servidor diferente, esses dois servidores estão atrás de um loadbalancer e o db estaria em outro servidor. Estamos planejando dessa maneira devido ao tráfego intenso.

Eu fiz instalações autônomas do wordpress em um único servidor, no Windows 2003, 2008 com IIS6, 7, etc.

Estou apenas pesquisando sobre como eu implementaria isso.

Quais seriam as etapas para conseguir isso e, ao pesquisar, vi algumas postagens relacionadas ao diretório wp-content / uploads a serem sincronizadas em intervalos regulares?

sua ajuda muito apreciada Obrigado pela leitura


O que fizemos :

a) Temos dois servidores web conectados a um cluster san b) criamos um diretório de blog no san c) Mapeamos esse diretório de blog como um diretório virtual nos dois servidores web d) Wordpress instalado em qualquer um deles (como o domínio e o IIS virtual) diretórios é o mesmo para os dois servidores - por exemplo, www.abc.com) e) O banco de dados deste blog está localizado em duas caixas MySQL

como o Wordpress está no san, não há conflito com envios ou algo assim, o URL do blog é www.abc.com/blog e é assim que ele é configurado nos dois.

Espero que ajude alguém!

rihatum
fonte
1
+1 no efeito "nunca pensei em fazer isso".
Richard Slater
1
+1 para "Espero que alguém ofereça uma resposta realmente ótima com instruções passo a passo sobre a melhor maneira de implementar isso e por que é a melhor maneira".
Jed Daniels
acabou de adicionar sobre o que acabamos fazendo - espero que isso ajude
rihatum

Respostas:

4

Se esses diretórios precisarem ser idênticos, você poderá colocá-los em outro servidor e montá-los remotamente via NFS?

Matt Simmons
fonte
Nós temos uma SAN; então instalamos o wordpress na SAN e adicionamos esse diretório no IIS como o diretório wordpress / blog. Obrigado a todos pelos comentários ;
Rihatum
2
Uma SAN não é a mesma coisa que NFS.
chris
3
Compartilhe sessões com o Memcache, compartilhe arquivos com o NFS ou GlusterFS. Compartilhe tráfego com HAProxy ou Varnish (caches também!) E compartilhe bancos de dados com replicação circular.
Tom O'Connor
O GlusterFS é uma sugestão fascinante - obrigado por isso. Estou explorando isso como uma solução para o meu Wordpress dimensionar coisas estáticas.
Artem Russakovskii 10/10
3

Existem tantas maneiras de melhorar o desempenho do wordpress que não exigem um segundo servidor e balanceamento de carga. Em duas palavras: "armazene tudo em cache".

  • Use um php opcode cacher (APC). Você pode facilmente atingir 90% de taxas de acerto no cache com o wordpress em menos de 64 MB de memória.

  • Habilite o cache de consulta mysql. Você pode facilmente atingir 65% ou> taxas de acerto do cache com muito pouca memória (dependente do site, mas nunca muito alta).

Mais importante:

O Wordpress é um site pesado de "leitura" (vs. gravação), com a maioria dos pedidos limitados a algumas centenas de páginas (posts do blog). Você pode aumentar as solicitações por segundo 10 vezes servindo versões estáticas de suas postagens mais populares. O melhor plugin para isso é: wp-super-cache. Não sei se esse plug-in específico é compatível com o 2k3, mas a idéia geral de criar automaticamente versões estáticas de suas páginas e atualizá-las periodicamente para incluir novos comentários, edições etc. será sua melhor opção.

Eu realmente duvido que o site esteja fazendo tráfego suficiente para exigir dois servidores de aplicativos / web, se as melhorias comuns acima forem implementadas (as opções acima podem lidar facilmente com o efeito slashdot). No entanto, dois servidores da web adicionariam um nível de tolerância a falhas. Como o desempenho pode ser alcançado com um servidor da Web, a tolerância a falhas pode ser obtida usando uma configuração ativa / passiva. Isso seria mais simples e não exigiria o compartilhamento de informações da sessão.

Aproveite a noite
fonte
O WordPress +1 também possui plug-ins de cache que podem fazer um bom trabalho. Não há razão para executar o WordPress em dois servidores como este com uma quantidade razoável de cache ativada.
WheresAlice
4
O balanceamento de carga não se trata apenas de desempenho, mas também de adicionar redundância.
Mike P
Ao mencionar o WP Super Cache, você também deve mencionar o W3 Total Cache
david
2

Corremos para a mesma situação, acabamos instalando um plugin s3 que hospeda o diretório wp uploads para que você não precise lidar com a sincronização.

Este é o que usamos: http://tantannoodles.com/toolkit/wordpress-s3/

Tem funcionado muito bem até agora!

shennyg
fonte
1
Eu recomendaria não usar um plug-in que não foi atualizado desde 2009 - ele é mantido e você pode se arrepender no futuro (alterações no S3, segurança, etc.).
Artem Russakovskii 10/10
Para sua informação, ainda estamos funcionando bem com este plugin.
shennyg
@shennyg - ainda está forte?
Ben
@Steve wordpress-s3 não se mantém. Eu iria com cache total w3 , ele pode sincronizar suas bibliotecas de mídia.
30914 shennyg
0

Você deve compartilhar entre os servidores os uploads / dir e as sessões dir, geralmente em / tmp

Altere-o no php.ini e compartilhe o fs para sessões e arquivos enviados entre servidores via samba, nfs ou o que você preferir.

sntg
fonte
0

Primeiro, respondi a uma pergunta muito relacionada aqui que você provavelmente achará útil: replicação SAN + MySQL - é isso que eu quero para meu cluster Drupal com balanceamento de carga?

O armazenamento em cluster da Web pode ir muito além da toca do coelho, por isso é importante manter em mente seus objetivos de negócios e não se perder na engenharia de um engenheiro. Por exemplo, você planeja ter dois servidores web e um servidor de banco de dados ... mas e se o servidor de banco de dados for seu gargalo? Então seu segundo servidor da Web é desperdiçado. No hardware moderno, com um servidor web e um servidor de banco de dados e um wordpress bem configurado, você pode lidar com algumas centenas de solicitações por segundo. Você está esperando isso? Caso contrário, provavelmente não há sentido em balancear a carga.

cagenut
fonte
0

as sessões são melhor compartilhadas via memcache e depois no sistema de arquivos.

Mike
fonte
-1

Em um par Linux, eu usaria DRBD. O equivalente do Windows é o Serviço de Arquivos Distribuídos.

http://technet.microsoft.com/en-us/library/cc753479%28WS.10%29.aspx

Terence Johnson
fonte
... exceto que o DRBD fornece um dispositivo de bloco, o que dificilmente é equivalente a um sistema de arquivos.
Andol
... e então eu posso escolher qual sistema de arquivos para formatá-lo com, que oferece muito mais espaço para indecisão do que ficar preso com NTFS;)
Terence Johnson