Installazione di Wordpress su due server - Bilanciamento del carico


14

Devo installare wordpress (un blog, un dominio, ad esempio mycompany.com/blog) su due server che condividono un database su un altro server, questi due server sono dietro un bilanciamento del carico e il db sarebbe su un altro server. Stiamo pianificando in questo modo a causa del traffico intenso.

Ho eseguito installazioni wordpress standalone su un singolo server, su Windows 2003, 2008 con IIS6, 7 ecc

Sto solo cercando come implementarlo.

Quali sarebbero i passaggi per raggiungere questo obiettivo e alla ricerca ho visto alcuni post riguardanti la directory wp-content / uploads da sincronizzare a intervalli regolari?

il tuo aiuto molto apprezzato Grazie per aver letto


Cosa abbiamo fatto :

a) Abbiamo due server web collegati a un cluster di san b) abbiamo creato una directory blog sul san c) Mappato quella directory blog come directory virtuale su entrambi i server web d) Wordpress installato su uno di essi (come dominio e IIS virtuale le directory sono le stesse per entrambi i server - ad es. www.abc.com) e) Il database per questo blog si trova su due scatole MySQL

dato che Wordpress è seduto sul Web, quindi nessun conflitto con i caricamenti o qualcosa del genere, l'URL del blog è www.abc.com/blog ed è così che viene configurato su entrambi.

Spero che aiuti qualcuno!


1
+1 per l'effetto "Non ho mai pensato di farlo".
Richard Slater,

1
+1 per "Spero che qualcuno fornisca una risposta davvero eccezionale con istruzioni dettagliate sul modo migliore per implementarlo e perché è il modo migliore".
Jed Daniels,

ho

Risposte:


4

Se tali directory devono essere identiche, potresti metterle su un altro server e montarle in remoto tramite NFS?


Abbiamo una SAN; così abbiamo installato wordpress sulla SAN e aggiunto quella directory in IIS come directory wordpress / blog. Grazie a tutti per i commenti ;
Rihatum,

2
Una SAN non è la stessa cosa di NFS.
chris,

3
Condividi sessioni con Memcache, condividi file con NFS o GlusterFS. Condividi il traffico con HAProxy o Varnish (anche cache!) E condividi database con replica circolare.
Tom O'Connor,

GlusterFS è un suggerimento affascinante - grazie per quello. Lo sto esplorando come una soluzione al mio ridimensionamento di roba statica di Wordpress.
Artem Russakovskii,

3

Esistono così tanti modi per migliorare le prestazioni di wordpress che non richiedono un secondo server e il bilanciamento del carico. In due parole: "cache tutto".

  • Usa un php opcode cacher (APC). Puoi ottenere facilmente percentuali di hit della cache del 90% con wordpress in meno di 64 MB di mem.

  • Abilita la cache delle query mysql. Puoi raggiungere facilmente il 65% o> i tassi di hit della cache con pochissimo mem (dipendente dal sito, ma mai troppo elevato).

Più importante:

Wordpress è un sito "leggi" (rispetto a quello di scrittura) pesante con la maggior parte delle richieste limitate a poche centinaia di pagine (post di blog). Puoi aumentare le richieste al secondo di 10 volte offrendo versioni statiche dei tuoi post più popolari. Il miglior plugin per questo è: wp-super-cache. Non sono sicuro che quel particolare plug-in sia compatibile con 2k3, ma l'idea generale di creare automaticamente versioni statiche delle tue pagine e aggiornarle periodicamente per includere nuovi commenti, modifiche, ecc. Sarà la tua scommessa migliore.

Dubito davvero che il tuo sito stia facendo abbastanza traffico per richiedere due server web / app se vengono implementati i miglioramenti comuni di cui sopra (quanto sopra può facilmente gestire l'effetto slashdot). Tuttavia, due server Web aggiungerebbero un livello di tolleranza agli errori. Poiché le prestazioni possono essere raggiunte con un solo server Web, la tolleranza agli errori può essere raggiunta utilizzando una configurazione attiva / passiva. Ciò sarebbe più semplice e non richiederebbe la condivisione delle informazioni sulla sessione.


+1 WordPress ha anche plugin di memorizzazione nella cache che possono fare davvero un buon lavoro. Non c'è motivo di eseguire WordPress su due server come questo con una discreta quantità di cache abilitata.
Dov'è Alice

4
Il bilanciamento del carico non riguarda solo le prestazioni, ma anche l'aggiunta di ridondanza.
Mike P,

Quando menzioni WP Super Cache dovresti anche menzionare W3 Total Cache
David

2

Ci siamo imbattuti nella stessa situazione, alla fine abbiamo installato un plug-in s3 che ospita la tua directory di upload wp in modo da non dover gestire la sincronizzazione.

Questo è quello che abbiamo usato: http://tantannoodles.com/toolkit/wordpress-s3/

Finora ha funzionato benissimo!


1
Vorrei sconsigliare l'utilizzo di un plug-in che non è stato aggiornato dal 2009: non è stato mantenuto e potresti pentirti in futuro (modifiche S3, sicurezza, ecc.).
Artem Russakovskii,

Cordiali saluti, stiamo ancora andando bene con questo plugin.
shennyg,

@shennyg - vai ancora forte?
Ben

@Steve wordpress-s3 non è mantenuto. Andrei con w3 cache totale , può sincronizzare le tue librerie multimediali.
shennyg,

0

È necessario condividere tra server i caricamenti / dir e le sessioni dir, in genere in / tmp

Modificalo in php.ini e condividi le fs per le sessioni e i file caricati tra i server tramite samba, nfs o quello che preferisci.


0

Prima di tutto, hai risposto a una domanda molto correlata qui che probabilmente troverai utile: replica SAN + MySQL- è quello che voglio per il mio cluster Drupal con bilanciamento del carico?

Il clustering Web può andare molto lontano nella tana del coniglio, quindi è importante tenere a mente i tuoi obiettivi aziendali e non perderti nella progettazione di un ingegnere. Ad esempio, stai pensando di avere due server web e un server di database ... ma cosa succede se il server di database è il tuo collo di bottiglia? Quindi il tuo secondo server web viene sprecato. Su hardware moderno con un server Web e un server di database e un wordpress ben configurato è possibile gestire circa duecento richieste al secondo. Te lo aspetti? In caso contrario, probabilmente non ha senso il bilanciamento del carico.


0

le sessioni sono meglio condivise tramite memcache quindi sul filesystem.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.