Installation de Wordpress sur deux serveurs - Équilibrage de charge

14

Je dois installer wordpress (un blog, un domaine, par exemple mycompany.com/blog) sur deux serveurs partageant une base de données sur un serveur différent, ces deux serveurs sont derrière un équilibreur de charge et la base de données serait sur un autre serveur. Nous prévoyons de cette façon en raison du trafic élevé.

J'ai fait des installations WordPress autonomes sur un seul serveur, sur Windows 2003, 2008 avec IIS6, 7, etc.

Je fais juste des recherches sur la façon de mettre en œuvre cela.

Quelles seraient les étapes pour y parvenir et lors de la recherche, j'ai vu certains messages concernant le répertoire wp-content / uploads à synchroniser à intervalles réguliers?

votre aide très appréciée Merci d'avoir lu


Ce que nous avons fait :

a) Nous avons deux serveurs Web connectés à un cluster san b) créé un répertoire de blog sur le san c) Mappé ce répertoire de blog en tant que répertoire virtuel sur les deux serveurs web d) Installé wordpress sur l'un d'entre eux (comme le domaine et IIS virtuel les répertoires sont les mêmes pour les deux serveurs - par exemple www.abc.com) e) La base de données de ce blog est située sur deux boîtes MySQL

comme Wordpress est assis sur le san, donc pas de conflits avec les téléchargements ou quelque chose comme ça, l'URL du blog est www.abc.com/blog et c'est ainsi qu'il est configuré sur les deux.

J'espère que cela aide quelqu'un!

rihatum
la source
1
+1 pour l'effet "Je n'ai jamais pensé à faire ça".
Richard Slater
1
+1 pour "J'espère que quelqu'un fournira une très bonne réponse avec des instructions étape par étape sur la meilleure façon de mettre en œuvre cela et pourquoi c'est la meilleure façon".
Jed Daniels
vient d'ajouter sur ce que nous
finissons

Réponses:

4

Si ces répertoires doivent être identiques, pourriez-vous les placer sur un autre serveur et les monter à distance via NFS?

Matt Simmons
la source
Nous avons un SAN; nous avons donc installé wordpress sur le SAN et ajouté ce répertoire dans IIS en tant que répertoire wordpress / blog. Merci à tous pour les commentaires;
rihatum
2
Un SAN n'est pas la même chose que NFS.
chris
3
Partagez des sessions avec Memcache, partagez des fichiers avec NFS ou GlusterFS. Partagez le trafic avec HAProxy ou Varnish (caches aussi!) Et partagez des bases de données avec réplication circulaire.
Tom O'Connor
GlusterFS est une suggestion fascinante - merci pour cela. J'explore cela comme une solution à ma mise à l'échelle Wordpress de choses statiques.
Artem Russakovskii
3

Il y a tellement de façons d'améliorer les performances de wordpress qui ne nécessitent pas de deuxième serveur et d'équilibrage de charge. En deux mots: "cache tout".

  • Utilisez un php opcode cacher (APC). Vous pouvez facilement atteindre 90% de taux d'accès au cache avec wordpress en moins de 64 Mo de mem.

  • Activez le cache de requêtes mysql. Vous pouvez facilement atteindre 65% ou> des taux d'accès au cache avec très peu de mem (dépendant du site, mais jamais trop élevé).

Plus important encore:

Wordpress est un site lourd de "lecture" (vs écriture) avec la plupart des demandes limitées à quelques centaines de pages (articles de blog). Vous pouvez multiplier par 10 les demandes par seconde en diffusant des versions statiques de vos publications les plus populaires. Le meilleur plugin pour cela est: wp-super-cache. Je ne suis pas certain que ce plug-in particulier soit compatible avec 2k3, mais l'idée générale de créer automatiquement des versions statiques de vos pages et de les mettre à jour périodiquement pour inclure de nouveaux commentaires, modifications, etc. sera votre meilleur pari.

Je doute vraiment que votre site génère suffisamment de trafic pour nécessiter deux serveurs Web / d'applications si les améliorations communes ci-dessus sont mises en œuvre (celles ci-dessus peuvent facilement gérer l'effet slashdot). Cependant, deux serveurs Web ajouteraient un niveau de tolérance aux pannes. Étant donné que les performances peuvent être obtenues avec un serveur Web, la tolérance aux pannes peut être obtenue à l'aide d'une configuration active / passive. Cela serait plus simple et ne nécessiterait aucun partage des informations de session.

Carpe Noctem
la source
+1 WordPress a également des plugins de mise en cache qui peuvent faire du très bon travail. Il n'y a aucune raison d'exécuter WordPress sur deux serveurs comme celui-ci avec une quantité décente de mise en cache activée.
WheresAlice
4
L'équilibrage de charge ne concerne pas uniquement les performances, il s'agit également d'ajouter de la redondance.
Mike P
Lorsque vous mentionnez WP Super Cache, vous devez également mentionner W3 Total Cache
david
2

Nous sommes tombés sur la même situation, nous avons fini par installer un plugin s3 qui héberge votre répertoire wp uploads afin que vous n'ayez pas à gérer la synchronisation.

C'est celui que nous avons utilisé: http://tantannoodles.com/toolkit/wordpress-s3/

Cela a fonctionné très bien jusqu'à présent!

shennyg
la source
1
Je déconseille d'utiliser un plugin qui n'a pas été mis à jour depuis 2009 - il n'est pas maintenu et vous pourriez le regretter à l'avenir (changements S3, sécurité, etc.).
Artem Russakovskii
Pour info, nous fonctionnons toujours bien avec ce plugin.
shennyg
@shennyg - toujours aussi fort?
Ben
@Steve wordpress-s3 n'est pas géré. J'irais avec le cache total w3 , il peut synchroniser vos bibliothèques multimédias.
shennyg
0

Vous devez partager entre les serveurs le répertoire / uploads et le répertoire sessions, généralement dans / tmp

Modifiez-le dans php.ini et partagez les fs pour les sessions et les fichiers téléchargés entre les serveurs via samba, nfs ou ce que vous préférez.

sntg
la source
0

Tout d'abord, j'ai répondu à une question très connexe que vous trouverez probablement utile: réplication SAN + MySQL - est-ce ce que je veux pour mon cluster Drupal à charge équilibrée?

Le clustering Web peut aller très loin dans le lapin, il est donc important de garder à l'esprit vos objectifs commerciaux et de ne pas vous perdre dans l'ingénierie unique. Par exemple, vous prévoyez d'avoir deux serveurs Web et un serveur de base de données ... mais que faire si le serveur de base de données est votre goulot d'étranglement? Ensuite, votre deuxième serveur Web est perdu. Sur du matériel moderne avec un serveur Web et un serveur de base de données et une wordpress bien configurée, vous pouvez gérer quelques centaines de demandes par seconde. Vous attendez ça? Sinon, il n'y a probablement aucun intérêt à équilibrer la charge.

cagenut
la source
0

les sessions sont mieux partagées via memcache que sur le système de fichiers.

Mike
la source
-1

Sur une paire Linux, j'utiliserais DRBD. L'équivalent de Windows est le service de fichiers distribués.

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

Terence Johnson
la source
... sauf que DRBD fournit un périphérique de bloc, qui est à peine équivalent à un système de fichiers.
andol
... et je peux alors choisir le système de fichiers avec lequel le formater, ce qui offre beaucoup plus de possibilités d'indécision que d'être bloqué avec NTFS;)
Terence Johnson