Instalacja Wordpress na dwóch serwerach - równoważenie obciążenia

14

Muszę zainstalować wordpress (jeden blog, jedna domena, np. Mojafirma.com/blog) na dwóch serwerach współużytkujących jedną bazę danych na innym serwerze, te dwa serwery stoją za modułem równoważącym obciążenie, a baza danych będzie na innym serwerze. Planujemy w ten sposób ze względu na duży ruch.

Zrobiłem samodzielne instalacje wordpress na jednym serwerze, w systemie Windows 2003, 2008 z IIS6, 7 itd

Właśnie badam, jak mógłbym to wdrożyć.

Jakie byłyby kroki do osiągnięcia tego, a po przeszukaniu zobaczyłem kilka postów dotyczących katalogu wp-content / uploads, które mają być synchronizowane w regularnych odstępach czasu?

Twoja pomoc bardzo doceniona Dziękujemy za przeczytanie


Co zrobiliśmy :

a) Mamy dwa serwery sieciowe podłączone do klastra san b) utworzyliśmy katalog blogów na san c) Zmapowałem ten katalog blogów jako katalog wirtualny na obu serwerach www d) Zainstalowałem Wordpress na jednym z nich (jako domena i IIS wirtualny katalogi są takie same dla obu serwerów - np. www.abc.com) e) Baza danych tego bloga znajduje się na dwóch skrzynkach MySQL

ponieważ Wordpress siedzi na serwerze, więc nie ma konfliktu z przesyłanymi treściami itp., URL bloga to www.abc.com/blog i tak jest skonfigurowany w obu przypadkach.

Mam nadzieję, że komuś pomoże!

Rihatum
źródło
1
+1 za efekt „Nigdy nie myślałem o zrobieniu tego”.
Richard Slater
1
+1 za „Mam nadzieję, że ktoś udzieli naprawdę świetnej odpowiedzi z instrukcjami krok po kroku na temat najlepszego sposobu wdrożenia tego i dlaczego jest to najlepszy sposób”.
Jed Daniels,
właśnie dodał, co robimy - mam nadzieję, że to pomoże
rihatum

Odpowiedzi:

4

Jeśli te katalogi muszą być identyczne, czy możesz umieścić je na innym serwerze i zamontować je zdalnie przez NFS?

Matt Simmons
źródło
Mamy SAN; więc zainstalowaliśmy wordpress w SAN i dodaliśmy ten katalog w IIS jako katalog wordpress / blog. Dziękuję wszystkim za komentarze ;
rihatum
2
SAN to nie to samo, co NFS.
Chris
3
Udostępniaj sesje za pomocą Memcache, udostępniaj pliki w NFS lub GlusterFS. Współdziel ruch z HAProxy lub Varnish (także bufory!) I współdziel bazy danych z cykliczną replikacją.
Tom O'Connor,
GlusterFS to fascynująca sugestia - dziękuję za to. Badam to jako rozwiązanie do skalowania statycznych elementów Wordpress.
Artem Russakovskii,
3

Jest tak wiele sposobów na poprawę wydajności wordpress, które nie wymagają drugiego serwera i równoważenia obciążenia. W dwóch słowach: „buforuj wszystko”.

  • Użyj php opache cache (APC). Możesz łatwo osiągnąć 90% trafień w pamięci podręcznej za pomocą wordpress w mniej niż 64 MB pamięci.

  • Włącz pamięć podręczną zapytań mysql. Możesz łatwo osiągnąć 65% lub> trafień w pamięci podręcznej przy bardzo małej liczbie memów (zależne od strony, ale nigdy zbyt wysokie).

Najważniejsze:

Wordpress jest obszerną stroną „czytającą” (w przeciwieństwie do zapisu), której większość żądań jest ograniczona do kilkuset stron (postów na blogu). Możesz zwiększyć liczbę żądań na sekundę 10-krotnie, wyświetlając statyczne wersje najpopularniejszych postów. Najlepsza wtyczka do tego to: wp-super-cache. Nie jestem pewien, czy ta konkretna wtyczka jest kompatybilna z 2k3, ale ogólny pomysł na automatyczne tworzenie statycznych wersji twoich stron i okresowe aktualizowanie ich w celu dodania nowych komentarzy, edycji itp. Będzie najlepszym wyborem.

Naprawdę wątpię, czy Twoja witryna będzie generować wystarczający ruch, aby wymagać dwóch serwerów WWW / aplikacji, jeśli zostaną zaimplementowane powyższe typowe ulepszenia (powyższe może łatwo obsłużyć efekt slashdot). Jednak dwa serwery WWW zwiększyłyby poziom odporności na uszkodzenia. Ponieważ wydajność można osiągnąć za pomocą jednego serwera WWW, to odporność na uszkodzenia można uzyskać za pomocą konfiguracji aktywnej / pasywnej. Byłoby to prostsze i nie wymagałoby udostępniania informacji o sesji.

CarpeNoctem
źródło
+1 WordPress ma również wtyczki buforujące, które mogą wykonać naprawdę dobrą robotę. Nie ma powodu, aby uruchamiać WordPress na dwóch takich serwerach z włączoną przyzwoitą ilością buforowania.
WheresAlice
4
Równoważenie obciążenia to nie tylko wydajność, ale także dodanie redundancji.
Mike P.
Kiedy wspominasz WP Super Cache, powinieneś również wspomnieć o W3 Total Cache
David
2

Natrafiliśmy na tę samą sytuację, w wyniku czego instalowaliśmy wtyczkę s3, która obsługuje katalog wp uploads, więc nie musisz zajmować się synchronizacją.

Tego użyliśmy: http://tantannoodles.com/toolkit/wordpress-s3/

Do tej pory działało świetnie!

shennyg
źródło
1
Odradzałbym używanie wtyczki, która nie była aktualizowana od 2009 roku - jest nieobsługiwana i możesz żałować w przyszłości (zmiany S3, bezpieczeństwo itp.).
Artem Russakovskii
Do Twojej dyspozycji wciąż jest dobrze z tą wtyczką.
shennyg
@shennyg - nadal silna?
Ben
@Steve wordpress-s3 jest nieobsługiwany. Poszedłbym z całkowitą pamięcią podręczną w3 , może zsynchronizować twoje biblioteki multimediów.
shennyg
0

Musisz udostępniać między serwerami uploads / dir i sesje dir, zwykle w / tmp

Zmień to w php.ini i udostępnij FS dla sesji i przesyłaj pliki między serwerami przez samba, nfs lub co wolisz.

sntg
źródło
0

Po pierwsze, odpowiedział na bardzo powiązane pytanie tutaj, które prawdopodobnie będzie pomocne: replikacja SAN + MySQL - czy tego właśnie chcę dla mojego klastra Drupal z równoważeniem obciążenia?

Klastry internetowe mogą iść naprawdę daleko w dół króliczej nory, dlatego ważne jest, aby pamiętać o swoich celach biznesowych i nie zgubić się w inżynierii. Na przykład planujesz mieć dwa serwery WWW i jeden serwer bazy danych ... ale co jeśli serwer bazy danych jest twoim wąskim gardłem? Wtedy twój drugi serwer zostanie zmarnowany. Na nowoczesnym sprzęcie z jednym serwerem WWW i jednym serwerem bazy danych oraz dobrze skonfigurowanym wordpressem możesz obsłużyć kilkaset żądań na sekundę. Czy tego oczekujesz? Jeśli nie, prawdopodobnie nie ma sensu równoważenie obciążenia.

kagenut
źródło
0

sesje są lepiej współdzielone przez memcache niż w systemie plików.

Mikrofon
źródło
-1

Na parze Linux użyłbym DRBD. Odpowiednikiem systemu Windows jest rozproszona usługa plików.

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

Terence Johnson
źródło
... z wyjątkiem tego, że DRBD zapewnia urządzenie blokowe, które prawie nie jest równoważne z systemem plików.
andol
... i mogę następnie wybrać, z którym systemem plików go sformatować, co zapewnia znacznie większy zakres niezdecydowania niż utknięcie w systemie plików NTFS;)
Terence Johnson