11 skutecznych sposobów na skalowanie witryny WordPress pod kątem dużego ruchu
Opublikowany: 2020-02-08Powolna strona internetowa lub serwer z przekroczeniem limitu czasu nie są idealne dla biznesu, jakiejkolwiek firmy i reputacji marki. Takie przestoje mogą mieć szkodliwy wpływ na rentowność lub zaufanie. Witryny internetowe muszą być w stanie przewidzieć i przygotować się na nadchodzący nowy ruch, tak aby działały proaktywnie, a nie reaktywnie. Dzieje się tak dlatego, że nigdy nie wiadomo, co może wywołać chwilowy wzrost ruchu. Na przykład, jeśli prowadzisz bloga, może to być post, który stał się wirusowy. Zaledwie kilka sekund przestoju może doprowadzić do utraty tysięcy dolarów, ponieważ większość użytkowników internetu jest niecierpliwa. To powiedziawszy, WordPress dobrze radzi sobie z dużym natężeniem ruchu, chociaż wiele nieprzewidzianych okoliczności, konfiguracji i ustawień musi być zamierzonych. Spójrzmy, dobrze?

- WordPress nie obsługuje ruchu. Gospodarze (firmy hostingowe) tak!
Jako silnik witryny WordPress sam WordPress nie jest głównie odpowiedzialny za obsługę potencjalnego dużego ruchu. Zdolność obsługi ruchu zależy w dużej mierze od platformy hostingowej. Niestety, maszyna wirtualna hostująca Twoją witrynę WordPress może być pojedynczym punktem awarii, ponieważ problem z pojedynczą instancją może spowodować utratę usług dla Twojej witryny. W rzeczywistości niektóre serwery hostingowe ograniczają próg ruchu, podczas gdy inne wymagają uaktualnienia konta, jeśli ruch przekroczy określony próg. Jakie podstawy powinny znaleźć się na naszej liście kontrolnej dostawcy usług hostingowych:
- Po pierwsze, upewnij się, że Twój dostawca bezproblemowo obsługuje najnowsze wersje WordPress.
- Po drugie, sprawdź, czy pozwolą Ci przekroczyć limit (limit prędkości transferu i przepustowość Twojej witryny, gdy zaczniesz uzyskiwać dużo większy ruch)
- Chociaż współdzielony hosting może być świetny, gdy zaczynasz od projektu o niskim natężeniu ruchu, po odebraniu musisz przejść na wirtualny serwer prywatny (VPS). Twój dostawca powinien mieć przepisy dotyczące VPS.
- Skalowanie w pionie powinno być dozwolone w przypadku planów warstwowych, aby klienci mogli łatwo uaktualnić do zmieniających się potrzeb. Skalowanie zasobów w celu poprawy wydajności można osiągnąć głównie przez skalowanie pionowe. Zasadniczo zwiększając rozmiar maszyny wirtualnej, na której działa Twoja witryna WordPress.
- Sprawdź, czy dostępne jest również skalowanie w poziomie, ponieważ dzieli witrynę na różne warstwy. Na przykład oddzielenie serwera front-end, serwera bazy danych, warstwy proxy i warstwy obrazu, co ułatwia skalowanie zasobów.

Szybka wskazówka: Jeśli możesz, unikaj wdrażania cPanel/WHM (WebHost Manager) na wysokowydajnym serwerze WordPress, ponieważ może to spowolnić ruch w witrynie internetowej o dużym natężeniu ruchu.
- Wykorzystanie Elasticsearch na swojej stronie
Szczególnie MySQL i MariaDB nie słyną ze swoich możliwości wyszukiwania. Nie zostały też zbudowane z myślą o tej sile i jest to jeden z powodów, dla których zespół WordPressa nie jest w stanie poprawić logiki wyszukiwania. Napisany w Javie, ElasticSearch jest rozproszonym, szybkim oprogramowaniem do wyszukiwania RESTful Search, przeznaczonym do wyszukiwania i analizy. Niezależnie od tego Elasticsearch można wykorzystać do przyspieszenia zapytań do bazy danych WordPress. W szczególności, budując indeks zawartości bazy danych Twojej witryny, ElasticSearch może być używany do przeszukiwania tego indeksu znacznie szybciej niż zapytanie MySQL podczas wykonywania tego samego wyszukiwania. Elasticsearch można również zintegrować, instalując wtyczkę ElasticPress do generowania wyników zapytań za pomocą Elasticsearch, a nie MySQL. Może to poprawić wydajność i lepiej skonfigurować obsługę dużego ruchu.
- Mniej grafiki i bardziej zoptymalizowane media
Aby zapobiec awariom witryny podczas skoków ruchu, możesz zmniejszyć liczbę grafik, które masz w projekcie swojej witryny. Ewentualne zoptymalizowanie multimediów ma na celu ułatwienie i szybsze ładowanie witryny. Uzyskanie najlepszej wydajności szybkości strony może być dobrą siatką bezpieczeństwa podczas epizodów o dużym natężeniu ruchu. Przychodzą mi na myśl trzy podstawowe praktyki.
- Możesz używać wtyczek kompresujących do obrazów i leniwego ładowania, ponieważ będą one wyświetlać obrazy tylko odwiedzającym, gdy dotrą do tych części stron internetowych, a nie wcześniej.
- Zawsze upewnij się, że ograniczasz media w swojej witrynie tylko do niezbędnych obrazów, jeśli możesz.
- Ponadto umieszczaj na swojej stronie filmy z serwisów takich jak YouTube i Vimeo! Następnie przesyłaj pełne filmy do swojej witryny.
Czytaj więcej : Wskazówki dotyczące poprawy szybkości witryny WordPress
- Mniej wtyczek
Wydaje się, że naszym dotychczasowym motywem przewodnim jest „mniej znaczy więcej”. Ale nie martw się, wciąż mamy kilka świetnych wskazówek! W idealnym przypadku wtyczki WordPress to pliki, które są „wywoływane” przez zainstalowany motyw WordPress. Wtyczki mogą łatwo rozszerzyć funkcjonalność lub dodać nową funkcję do systemu internetowego. Ale źle zakodowana wtyczka często ładuje zbyt wiele, nawet jeśli nie jest potrzebna.
Technicznie naga instancja bez motywów i wtyczek może działać całkiem dobrze pod obciążeniem. Ale kto chce mieć nagi motyw? Ponadto większość wtyczek może być niepotrzebnie skomplikowana i nadęta. Zwiększa to szybkość ładowania strony, co spowalnia Twoją witrynę. Dlatego postaraj się uniknąć przeładowania witryny wtyczkami, aby uniknąć wykonywania przez motyw zbyt wielu zapytań do bazy danych, co może prowadzić do zwiększonej aktywności na serwerze, co może skutkować potencjalną awarią serwera. Kluczowe punkty:
- Usuń nieużywane wtyczki
- Wyłącz wtyczki, których nie potrzebujesz.
- Używaj niezbędnych wtyczek. Unikaj niepotrzebnych lub eksperymentalnych.
- Regularnie kontroluj swoje wtyczki, aby ocenić ich rozmiar i jakość itp.
Czytaj więcej : Czy wtyczki WordPress są bezpieczne w użyciu?
- Wykorzystanie sieci dostarczania treści
Hosting systemu internetowego w różnych lokalizacjach geograficznych nie jest tak prosty, jak się wydaje. System sieciowy może mieć różną prędkość ładowania w zależności od tego, jak daleko znajduje się użytkownik. W takich momentach CDN okazuje się bardzo pomocny. CDN przechowuje buforowaną wersję zasobów Twojej witryny na różnych serwerach w różnych częściach świata. Pomaga to zmaksymalizować wydajność serwera, zapewniając, że nie wystąpią nadwyżki ruchu. Korzystanie z CDN może zmniejszyć szybkość ładowania Twojej witryny dla odwiedzających na całym świecie.
Przeczytaj więcej: Przenieś swoją witrynę WordPress do platformy Cloud
CDN zwiększa funkcjonalność serwera, buforując zawartość statyczną, taką jak obrazy, pliki JavaScript i CSS. Dzięki temu, gdy odwiedzający odwiedza Twoją witrynę, jest on obsługiwany z najbliższego mu serwera, co skutkuje szybszym ładowaniem Twojej witryny. CDN pomaga uniknąć obciążenia serwera przy dużym natężeniu ruchu, ponieważ pliki witryny są dystrybuowane i zapisywane w kilku różnych lokalizacjach danych na całym świecie. Podsumowując zalety CDN:
- Szybkość witryny rośnie — ładuje się szybciej.
- Pozwala obsłużyć większy ruch, ponieważ obciążenie jest dzielone między dostawcę usług hostingowych a platformę CDN.
- CDN pomaga zaoszczędzić przepustowość w Twojej witrynie.
- CDN pomaga chronić Twoją witrynę przed atakami typu „odmowa usługi” (DDOS), ponieważ wiele żądań będzie udostępnianych na wielu serwerach.
Najpopularniejszą „darmową” alternatywą CDN jest Cloudfare, którą możesz wykorzystać na swojej stronie WP. Cloudflare Free CDN jest świetny ze względu na:
- Brak opłaty za przepustowość: W przeciwieństwie do większości usług CDN, Cloudflare nie pobiera opłat za ruch. Większość sieci CDN może pobierać opłaty za wyczyszczenie zawartości pamięci podręcznej z ich sieci CDN.
- Globalny zasięg: Dzięki ponad 100 centrom danych na całym świecie Cloudfare działa w kilku punktach wymiany, dzięki czemu jest zawsze blisko Twoich klientów.
- Bezpieczeństwo: są uważane za organizację bezpieczeństwa, a ich „CDN” jest zasadniczo rozproszonym zwrotnym serwerem proxy. Dlatego dodaj do ich menu specjalistów od bezpieczeństwa.

- Rozważ użycie bezstanowej warstwy internetowej
Zasadniczo aplikacja bezstanowa nie wymaga znajomości poprzednich interakcji i zasadniczo nie przechowuje informacji o sesji. Z perspektywy czasu aplikacja bezstanowa może być skalowana w poziomie, ponieważ każde żądanie może być obsługiwane przez dowolne dostępne zasoby obliczeniowe, w zasadzie instancje serwera WWW. W konsekwencji, gdy ta przepustowość nie jest już potrzebna, każdy pojedynczy zasób może zostać bezpiecznie zakończony. Na przykład po tym, jak uruchomione zadania zostały wyczerpane lub spełniły swój cel. W bezstanowej warstwie sieci Web zasoby nie muszą być świadome obecności swoich elementów równorzędnych, wystarczy tylko rozdzielić na nie obciążenie. Możesz zastosować architekturę bezstanową, aby obsłużyć potencjalny przewidywany duży ruch.

- Buforowanie i optymalizacja bazy danych
Buforowanie bazy danych jest ważne, ponieważ zmniejszy wywołania bazy danych i przyspieszy czas ładowania systemu internetowego. Gdy większość zapytań jest obsługiwana z pamięci podręcznej, zmniejsza się liczba zapytań, które muszą trafić do bazy danych. Powoduje to poprawę wydajności bazy danych. Innym sposobem na zwiększenie wydajności bazy danych jest ograniczenie automatycznego ładowania zapytań i przechowywanie często używanych fragmentów danych w pamięci w celu uzyskania dostępu z małymi opóźnieniami. Chociaż ważne jest, aby używać buforowania zapytań i prawidłowego indeksowania w celu poprawy wydajności bazy danych, może to zmniejszyć opóźnienia i zwiększyć przepustowość w przypadku obciążeń aplikacji o dużym natężeniu odczytu.
Baza danych po pewnym czasie będzie zawierała znacznie więcej informacji, których już nie potrzebujesz. Zmniejszy to wydajność i efektywność systemu. Rewizje są jednym z powodów, dla których w bazie danych powstają niepotrzebne informacje. Wersje to funkcja WordPress, która umożliwia automatyczne zapisywanie wersji stron, postów lub niestandardowych typów postów. Domyślnie automatycznie zapisuje twoją pracę co 60 sekund. Można zarządzać tymi interwałami automatycznego zapisywania, definiując „WP_POST_REVISIONS” w pliku „wp-config.php”. Możesz zapisywać wersje co 30 sekund, 2 minuty lub zgodnie z wymaganiami. Wersje można również całkowicie wyłączyć. Powinieneś także wiedzieć, że wyłączenie wersji nie poprawia wydajności witryny.
Aby pozbyć się wszystkich takich niepotrzebnych danych, musisz zoptymalizować bazę danych. WordPress wykorzystuje przede wszystkim bazy danych MariaDB lub MySQL. W ten sposób albo przez optymalizację ustawień MySQL/MariaDB, albo przez zapewnienie większej ilości pamięci i mocy obliczeniowej, przepracowany serwer może pomóc. Ponadto w WordPressie dostępne są różne wtyczki, które pozwalają wyczyścić bazę danych. Wtyczki pomogą Ci usunąć nieużywane tagi, poprawki, usunięte posty itp. i zoptymalizują Twoją bazę danych.
- Korzystanie z odpowiednich wtyczek do buforowania
W przypadku przestojów wtyczki buforujące mogą generować pliki HTML Twojej witryny, co jest korzystne, gdy ruch rośnie. Wybierając wtyczkę do buforowania, zwróć uwagę na niektóre aspekty, takie jak:
- Dostępność aktualizacji
- Sieć dostarczania treści i integracja SSL
- Możliwości buforowania stron
- Mocne strony pamięci podręcznej bazy danych
Twoja wtyczka buforująca powinna oferować integrację CDN, chociaż osobiście polecam wtyczkę buforującą W3TC.
- Zapewnienie bezpieczeństwa witryny
Bezpieczeństwo wpływa na skalowanie witryny WordPress, ponieważ duży ruch oznacza więcej potencjalnych zagrożeń, na które należy uważać. W ten sposób profesjonalne wtyczki zabezpieczające mogą chronić Twoją witrynę przed złośliwym oprogramowaniem, wstrzyknięciami SQL, spamem, atakami DDoS itp., oferując po prostu:
- Aktywny monitoring bezpieczeństwa
- Ochrona przed atakami brute force
- Skanowanie złośliwego oprogramowania
- Monitorowanie i zarządzanie bezpieczeństwem (szczególnie dla DDoS),
- Monitorowanie czarnej listy
- Wzmacnianie zabezpieczeń i działania po włamaniu
- Zapory sieciowe
Ponadto możesz podjąć osobiste nieprzewidziane okoliczności, takie jak:
- Wzmocnienie haseł wp-admin dzięki uwierzytelnianiu dwuskładnikowemu
- Ogranicz próby logowania w swojej witrynie
- zastosowanie antywirusa w sieci Użyj SFTP zamiast FTP
- Ukryj pliki wp-config.php i .htaccess
- Użyj wirtualnej sieci prywatnej VPN, gdy nie korzystasz z sieci, którą kontrolujesz.
- Użyj wirtualnego serwera prywatnego VPS, aby mieć większą kontrolę nad środowiskiem serwera.
- Wykorzystaj buforowanie kodu bajtowego
Skrypt PHP jest analizowany i kompilowany za każdym razem, gdy jest wykonywany. Idealnie więc, używając pamięci podręcznej kodu bajtowego PHP, dane wyjściowe kompilacji PHP są przechowywane w pamięci RAM, co pozwala uniknąć konieczności wielokrotnego kompilowania tego samego skryptu. W konsekwencji zmniejsza to koszty związane z wykonywaniem skryptów PHP, co skutkuje lepszą wydajnością i niższymi wymaganiami procesora. OPcache może pomóc w buforowaniu kodu bajtowego.
- Zastosuj techniki równoważenia obciążenia
Równoważenie obciążenia skutecznie rozdziela przychodzący ruch sieciowy na grupę serwerów zaplecza, pulę serwerów lub farmę serwerów. Ponieważ witryny o dużym natężeniu ruchu obsługują tysiące użytkowników, jednoczesne żądania są nieuniknione, dlatego w celu ekonomicznego skalowania wskazane jest równoważenie obciążenia. W idealnym przypadku, z load balancerem, jeśli jeden serwer ulegnie awarii, przekieruje ruch do pozostałych serwerów online. Load balancer wykonuje następujące zadania:
- Wydajnie rozdziela obciążenie sieciowe lub żądania klientów na wiele serwerów.
- Zapewnia wysoką niezawodność i dostępność, wysyłając żądania tylko do serwerów online.
- Zapewnia elastyczność dodawania lub odejmowania serwerów zgodnie z zapotrzebowaniem.

Aby zademonstrować równoważenie obciążenia, możemy użyć przykładu wordpress.com (nie wordpress.org), która jest w rzeczywistości jedną wielostanowiskową instalacją WordPress działającą na tysiącach serwerów w wielu centrach danych. W szczególności WordPress.com jako kreator witryn obsługuje wiele witryn za pośrednictwem HyperDB w celu równoważenia obciążenia i dystrybucji milionów tabel w oddzielnych instancjach bazy danych, wszystkie połączone z centralną bazą danych. Dlatego witryny wordpress.com mogą bezproblemowo obsługiwać duży ruch, ponieważ dystrybuują żądania użytkowników końcowych do wielu węzłów serwerów internetowych, zasadniczo równoważąc obciążenie.
Czy samoobsługowa witryna WordPress może obsłużyć 100 000 jednoczesnych odwiedzających?
Pytanie dnia, prawda? Teoretycznie tak, choć osiągnięcie tego wyniku będzie wymagało wiele wysiłku. Będziesz musiał przeprowadzić audyt strony i na pewno będzie obejmować:
- równoważenie obciążenia
- Replikacja MySQL
- Odciążanie zawartości statycznej
- Elastyczność architektury Twojego serwera.
- Renomowany dostawca CDN
- Wydajny system zarządzania komentarzami, taki jak Disqus
- Maksymalizuj wydajność buforowania
- Wykorzystaj elastyczne wdrożenie chmury
- Często korzystaj z narzędzi analitycznych i śledzących, takich jak WordPress Stats i Google Analytics
- Wykorzystaj wysokowydajny serwer HTTP, taki jak NGINX .
Mówiąc najkrócej, wiele zależy od sprzętu i typów używanych wtyczek. Możesz rozważyć użycie oddzielnej pamięci masowej w chmurze dla multimediów i przesyłanych plików, a następnie mieć wtyczkę, która kieruje przesyłane przez użytkownika pliki do pamięci, a nie do lokalnego systemu plików. Alternatywnie, jeśli używasz wystąpień AWS, rozważ zaprojektowanie witryny w wielu strefach dostępności w regionie, aby zwiększyć niezawodność całej architektury. Ponadto używaj dysków SSD i unikaj dysków twardych, ponieważ dyski półprzewodnikowe są bardziej niezawodne, bezpieczne i szybkie niż ich odpowiedniki z dyskami HDD.
Wniosek
Podsumowując, zoptymalizowane media, skrypty i buforowanie tak naprawdę nie pomogą, jeśli Twój serwer jest powolny, zatłoczony, udostępniony lub nieprawidłowo skonfigurowany. Zalecam więc korzystanie z serwera NGINX, ponieważ jest on bardziej zorientowany na wydajność. Dodatkowo upewnij się, że używasz pamięci podręcznych CDN, a jeśli możesz, powinieneś skorzystać z Cloudflare, aby uzyskać dodatkowe zwiększenie wydajności, ponieważ zmniejszy to zużycie zasobów na twoim serwerze, takie jak przepustowość. Godne uwagi wzmianki dotyczą regularnego aktualizowania wersji i motywu WP. Aby uzyskać dodatkowe informacje i pytania, skontaktuj się z nami.