3 kroki do lepszej wydajności na hostingu WordPress

Host webinaru i opiekun produktów WordPressowych w linuxpl.com. WordPress developer na pół etatu. Współorganizuje WordCampy, na których czasem też występuje w charakterze prelegenta.

19 lipca 2018

Hosting WordPress powstał z myślą o zwiększeniu wydajności stron na WordPressie. Przedstawiamy rekomendowane przez nas kroki, które warto wdrożyć, aby zmaksymalizować wydajność strony na WordPress, utrzymywanej w ramach tej usługi.

Z tego wpisu dowiesz się:

  • Jak skonfigurować LiteSpeed?
  • Dlaczego warto korzystać z REDIS i jak zacząć?
  • W jaki posób podpiąć WordPress pod CloudFlare?

Hosting WordPress a wydajność

Na kontach hostingowych w ramach usługi hosting WordPress zainstalowaliśmy serwer LiteSpeed Enterprise z modułem LSCache, który zapewnia znacznie większą wydajność niż Apache czy Nginx.
Jako użytkownik – w łatwy sposób możesz uruchomić Memcached lub Redis – mechanizmy cachowania obiektowego, służące do przechowywania wyników zapytań do bazy danych. W efekcie uzyskasz znacznie szybszy dostęp do zapisanych danych i szybsze otwieranie strony.
Jeśli chcesz zwiększyć bezpieczeństwo strony i uchronić się przed atakami DDoS możesz jednym kliknięciem, bez konieczności zakładania dodatkowego konta, dodać stronę do Cloudflare

 

Hosting WordPress Wzrost wydajności


Wykonaliśmy testy wydajnościowe mechanizmem Siege, które wykazały, że ta sama strona w ciągu 30 sekund, przed włączeniem wskazanych w tym artykule rozwiązań, obsługuje niecałe 500 użytkowników, podczas gdy po skonfigurowaniu zgodnie z poniższymi wytycznymi, w tym samym czasie, aż 32 tysiące!

 

Uruchamiamy wtyczkę LiteSpeed Cache

Aby w pełni wykorzystać w WordPressie możliwości serwera LiteSpeed jego twórcy przygotowali wtyczkę LiteSpeed Cache, która jest dostępna bezpłatnie w repozytorium WordPressa.
Za cache strony odpowiada moduł LSCache po stronie serwera, a dzięki wtyczce LiteSpeed Cache do WordPressa będziesz w stanie zarządzać jego ustawieniami. Dodatkowo wtyczka pozwala zoptymalizować stronę aby jeszcze szybciej się wczytywała.

Po zalogowaniu do strony na WordPressie przechodzimy do Wtyczki -> Dodaj nową. W oknie wyszukiwania wpisujemy LiteSpeed Cache i klikamy Zainstaluj teraz, a następnie Włącz wtyczkę.

Przechodzimy do LiteSpeed Cache -> Ustawienia główne i na karcie Główne upewniamy się, że Włącz LiteSpeed Cache jest ustawione na Włącz. Wtyczka jest już domyślnie skonfigurowana i od tego momentu strona będzie serwowana z cache.

Redis – konfigurujemy cache obiektowy

Rekomendujemy wykorzystanie rozwiązania Redis – mechanizmu cache’owania obiektowego. Pozwoli on znacznie zmniejszyć obciążenie bazy danych i jeszcze bardziej przyspieszy wczytywanie Twojej strony.

W tym celu musimy wykonać kilka prostych kroków:

  1. Uruchamiamy serwer Redis
  2. Zapisujemy dane konfiguracyjne
  3. Wpisujemy je w odpowiednie pola w mechanizmie obsługi Redis na stronie – w tym wypadku omawianej wtyczce.

Logujemy się do panelu Direct Admin w linuxpl.com aby pobrać dane hosta, port i hasło do Redisa. W sekcji Zaawansowane opcje klikamy na link Konfiguracja Memcached i Redis.

Konfiguracja Redis

W sekcji Redis Server upewniamy się, że dostęp do serwera Redis jest Włączony. Jeśli nie jest, to klikamy Włącz serwer. Następnie klikamy w Parametry połączenia serwera Redis.

Uruchamianie Redis

Kopiujemy host do połączeń (a), numer portu (b) oraz hasło (c), a następnie wstawiamy je w odpowiednie miejsca w ustawieniach wtyczki LiteSpeed Cache wg instrukcji opisanej poniżej.

Ustawienia Redis w Direct Admin

W ustawieniach wtyczki LiteSpeed Cache musimy rozwinąć dodatkowe opcje. W tym celu klikamy w zielony przycisk Wyświetl zaawansowane opcje. Wyświetlą nam się dodatkowe karty.

Przechodzimy do karty Zaawansowane, gdzie znajdziemy ustawienia MemcachedRedis. Na hostingu WordPress zainstalowany jest zarówno Memcached, jak i Redis, także możemy wybrać dowolny z nich. My jednak polecamy skorzystać z Redis.

W sekcji Pamięć podręczna obiektów klikamy Włącz. Następnie w sekcji Metoda ustawiamy Redis. Wypełniamy pola Host (a), Port (b)Hasło (c) skopiowane wcześniej z panelu Direct Admin.

Włączamy ustawienia Trwałe połączenie, Pamięć podręczna panelu administratora oraz Zapisuj dane tymczasowe.

Zapisujemy dane i sprawdzamy w sekcji Stan czy pole Test połączenia ma status Powiodło się. Jeśli status jest inny, należy w Direct Adminie wyłączyć i ponownie włączyć serwer Redis.

Podpinamy domenę pod CloudFlare

W panelu Direct Admin możesz łatwo dodać domenę do Cloudflare. Robi się to jednym kliknięciem, a zapewni to dodatkową ochronę przed atakami DDoS oraz może mieć pozytywny wpływ na przyspieszenie ładowania strony.

W Direct Admin, w sekcji Zaawansowane opcje, klikamy w link Integracja z Cloudflare.

Cloudflare

Następnie wystarczy tylko kliknąć w przycisk Rozpocznij. Proces podpięcia domeny pod Cloudflare odbędzie się automatycznie. Uwaga, obecnie Cloudflare nie działa dla subdomen.

Gotowe – Twoja strona powinna działać wyraźnie szybciej!

W razie pytań dotyczących konfiguracji WordPress – zapraszamy, nasz zespół chętnie pomoże we włączeniu opisanych funkcji.

Jeśli jeszcze nie korzystasz ze specjalistycznego hostingu WordPress – wypróbuj go całkowicie bezpłatnie!

Podziel się

Komentarze (37)


witam, czy ta opcja sprawdza się na koncie SSD? próbowałem ale tam nie ma opcji Redis tylko można sam serwer Memcached.

Dzięki za ten poradnik, redis’a już uruchomiłem. Nie widzę opcji Cloudflare. Mam hosting wordpress, trzeba coś dodatkowo konfigurować ?

Czy cokolwiek może się ‚wysypać’ na stronie po włączeniu w/w opcji? Co z cloudfare w tym temacie? Jak cloudfare ma się do SEO?

Paweł opcja Cloudflare znajduje się w Direct Adminie w sekcji ‚Zaawansowane opcje’ pod linkiem Integracja z Cloudflare.

Jacek, jak przy włączaniu każdej wtyczki do optymalizacji/ cache coś się może wysypać na stronie np. po połączeniu skryptów js, także wszystko zależy od ustawień. Polecam przetestować w środowisku testowym (nagraliśmy webinar o tym jak stworzyć stronę testową, który jest dostępny pod adresem: linuxpl.com/webinary). Integracja z Cloudflare może pozytywnie wpłynąć na prędkość ładowania strony, co jest jednym z wielu czynników branych pod uwagę w rankingu.

A jak wygląda sprawa z połączeniem cloudflare jeśli już administrujemy adresami domeny z poziomu dashboardu cloudflare (dny u rejestratora to dny cloudflare).

Dobry wieczór

Przy próbie włączenia wtyczki wyświetla się komunikat:

Wtyczka zwróciła 243 niespodziewanych znaków podczas włączania.

Włączałem ją również przy wyłączonych wszystkich innych wtyczkach, ale nic to nie zmieniło. Co może być powodem i jak można problem rozwiązać?

Marcin, pierwszą rzeczą którą warto byłoby zrobić to odinstalować wtyczkę i zainstalować ją ponownie, może powstał jakiś błąd podczas instalacji. Jeśli problem nadal będzie występować to warto spróbować zainstalować wtyczkę https://wordpress.org/plugins/debug-plugin-activation-errors, która powinna nam powiedzieć, w którym konkretnie pliku szukać tego problemu. Możesz później wkleić tu, w komentarzu, opis, który zwróci wtyczka i postaram się dalej pomóc.

Odinstalowanie i ponowna instalacja to były pierwsze rzeczy, które zrobiłem. 🙂
Wyłączyłem też pozostałe wtyczki i spróbowałem wtedy – bez zmian.

Spróbuję tej wtyczki, którą polecasz i zgłoszę się po dalszą pomoc.
Pozdrawaiam

Przepraszam, że komentarze jeden pod drugim, ale mam komunikat:

The Issues Causing „unexpected output” are:

Warning: Invalid argument supplied for foreach() in […]/public_html/wp-content/plugins/litespeed-cache/admin/litespeed-cache-admin-settings.class.php on line 1062

Hej Marcin, może to być jeszcze jakiś konflikt z motywem. Można to przetestować zmieniając motyw na domyślny np. twentyseventeen i zobaczyć czy ten komunikat nadal występuje. Z tym, że polecam zmienić motyw na stronie testowej tzw. staging – jeśli nie wiesz jak postawić taką stronę testową to polecam Ci mój webinar „Jak stworzyć testową wersję strony WordPress”, który znajdziesz tutaj: https://linuxpl.com/webinary/.

Inną rzeczą, którą jeszcze możesz sprawdzić to jaka wersja PHP jest uruchomiona na serwerze. Najlepiej aby była to wersja 7.2 (możesz to zmienić w panelu Direct Admin).

Upewnij się także, że wszystko na stronie jest zaktualizowane do najnowszych wersji, tzn. sam WordPress, wszystkie wtyczki i używany motyw.

Ostatecznie najlepiej napisać do supportu wtyczki tutaj na stronie repozytorium: https://wordpress.org/support/plugin/litespeed-cache/.

Tutaj np. ktoś miał podobny problem do Twojego i otrzymał pomoc od twórców wtyczki: https://wordpress.org/support/topic/invalid-argument-supplied-for-foreach-113/

Heh, po kolei

Motyw zmieniłem, ale efektu nie było
Odinstalowałem wszystkie pozostałe pluginy – też bez skutku
PHP używam od kilku dni w wersji 7.2. W każdym razie używałem już tej wersji zanim zainstalowałem Litespeed.
Wszystkie elementy miałem zaktualizowane.

Pozostaje fajtycznie zgłosić się do supportu, choć z moim angielskim… 😉
W każdym razie dziękuję za pomoc 🙂

Cześć,

włączyłem na serwerze Redis. Skopiowałem też do wtyczki dane (host, hasło, port). Ale we wtyczce w sekcji Stan mam taki monit: Rozszerzenie Redis : Wyłączony . W jaki sposób to włączyć?

Serdecznie dziękuję za pomoc. Okazało się, że błąd pojawił się po ostatniej aktualizacji (nie tyko u mnie). Support zadziałał błyskawicznie – dzisiaj pojawiła się łatka i już działa. Mogę już konfigurować… ale najpierw kolejny webinar 🙂

Jeszcze raz dziękuję i pozdrawiam.

Marcin, cieszę się, że udało się rozwiązać ten problem. Do zobaczenia na webinarach 🙂

Manx, spróbuj jeszcze raz w Direct Adminie wyłączyć i następnie włączyć Redisa. A w ustawieniach wtyczki upewnij się, że w sekcji Pamięć Podręczna Obiektów jest ustawione Wł.

„Uwaga, obecnie Cloudflare nie działa dla subdomen.”

Chciałem podłączyć do CF stronę z adresem bez www na początku, ale się nie udało.

Zgłosiłem sprawę do linxupl i dostałem taką odpowiedź:
„W chwili obecnej integracja z cloudflare działa jedynie w uproszczony sposób i nie ma możliwości aby przekierować ruch domeny przez wersje bez www.

W przyszłości pojawi się opcja pełnej integracji gdzie będzie możliwość zmiany DNS i pozostałych ustawień domeny.”

Czyli działa z subdomeną www. Nie wiem jak z innymi subdomenami.

Jeśli ktoś ma włączone przekierowanie wszystkich adresów na wersję bez www, to integracja domeny z Cloudflare spowoduje pętle przekierowań.

2 pierwsze kroki z artykułu działają bezbłędnie (bez zrobienia tego nie ma sensu przeprowadzka na hosting wp), natomiast ostatni „Integracja z Cloudflare” już na 2 domenie, którą spróbowałem tak przyśpieszyć powoduje błąd ładowania strony i np. firefox wyświetla taki komunikat: „Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.”
Nie widzę możliwości wyłączenia „Integracji z Cloudflare” bo wyświetla się tylko przycisk Rozpocznij.
Na szczęście admini z linuxpl.com reagują szybko.

@Łukasz i @Jan dziękuję za Wasze komentarze, będziemy pracować nad usprawnieniem integracji z Cloudflare.

Witam,
z podpięciem Redisa sugerowałbym ostrożnie. Jest tam 128mb pamięci – której nie można zwiększyć. Mi po 10 dniach od włączenia ta pamięć się skończyła. I serwis zaczął sypać błędami error 500. Po założeniu loga błędów znalazło się coś takiego:
PHP Fatal error: Uncaught RedisException: OOM command not allowed when used memory > ‚maxmemory’. in …/plugins/litespeed-cache/inc/object.class.php:465
Po odłączeniu Redisa na razie działa ok.

Bardzo fajnie że udostępniają Państwo pamieć podręczną In-Memory na poziomie CMSa. To bardzo dobra funkcja przyspieszająca i odciążająca bazę danych, która najczęściej jest wąskim gardłem w systemie WordPress. Żałuję że do tej pory (poza pracą dla klientów) nie korzystałem z linuxpl. Mam nadzieję że się to wkrótce zmieni 🙂

Po włączeniu Litespeed z minimalnymi opcjami konfiguracji zauważyłem wielki wzrost szybkości.
Po włączeniu opcji zaawansowanych i skonfigurowania Redis szybkość spadła.
Szybciej jest bez Redisa.

Jeszcze nie testowałem z hostingu wordpress, ale zwykłe hostingi w Waszej firmie działają rewelacyjnie także jestem ciekaw jaka będzie róznica między zwykłym hostingiem a tym dla wordpressa.

    Dzięki za dobre słowo! Hosting WordPress to technologie przyspieszające ale też związane z bezpieczeństwem, m.in. backup baz co 6 godzin czy szybki audyt bezpieczeństwa WordPress, uruchamiany z poziomu DirectAdmina. Tak, że jest kilka „smaczków” dla miłośników tego CMS’a.

Czy te dodatkowe opcja po za wtyczką cechującą są dodatkowo płatne na serwerze? Słyszałem bardzo wiele dobrych opinii o wtyczce cachującej ale boję się tego uruchamiać bo też wiele osób pisze że coś im się sypie lub wtyczki się gryzą. Czy jednak nie ma ryzyka w uruchamianiu?

wyskoczył taki komunikat na zakaładce settings wtyczki:

UWAGA

Funkcja pamięci podręcznej na tej stronie jest aktualnie niedostępna!

LiteSpeed Cache jest wyłączony. Dowiedz się więcej

co mam zrobic?

    Taki komunikat może wyświetlać się, kiedy serwer nie wspiera chacheowania LiteSpeed. Aby korzystać ze wszystkich zalet LS Cache serwer musi mieć aktywną obsługę po swojej stronie. Te wszystkie funkcje są aktywne jeśli korzystasz z naszych pakietów WordPress, jeśli masz jednak inny pakiet, w szczególności W1, W2, W5, W10 – to tam jest serwer Apache, a nie Litespeed, być może to jest przyczyną. Jeśli strona, na której tego doświadczasz jest na naszym hostingu na pakietach WordPress, to opisz proszę szczegóły z nazwą domeny do naszego supportu – sprawdzimy Twoją instalację.

    Prawda. Zwłaszcza minifikacja i merging plików css i js potrafią płatać figle. Mimo to – testować warto, jest sporo do wygrania!

Po włączeniu integracji z Cloudflare strona przestaje się wczytywać i pokazuje się komunikat, że strona spowodowała zbyt wiele przekierowań. Wczesniej działała na innym hostingu i była zintegrowana z Cloudflare – nie było problemów.

Odpowiedz

Adres email nie będzie opublikowany.

*

To także może Cię zainteresować:

  • HTTP/2 w hostingu. Ile naprawdę daje?
  • DNS Anycast
  • Integracja WooCommerce z Allegro
  • Czy wiesz, że… własne niestandardowe DNSy

To także może Cię zainteresować:

Http/2 w hostingu
Hosting z HTTP/2 to naprawdę duża, duża zmiana technologiczna. Na wielu naszych usługach hostingowych protokół HTTP/2 jest dostępny od dawna. Okazuje się jednak, że nie wszyscy […]

czytaj

DNS Anycast - lepsza ochrona serwera DNS
DNS Anycast do poprawione czasy odpowiedzi serwera DNS z każdego kontynentu oraz znacznie zwiększona odporność na tatki DDoS...

czytaj

Integracja Allegro - obrazek wyróżniający
Allegro WooCommerce — potrzebujesz takiej integracji, nawet jeśli jeszcze tego nie wiesz. Nie zaskoczę Cię przecież, gdy powiem, że Allegro to najpopularniejszy serwis e-commerce w Polsce… Dzieje […]

czytaj

Jak wiemy (lub też nie) każda domena ma określone tzw. serwery nazw, dzięki którym możemy zlokalizować jej strefę DNS i resztę konfiguracji, […]

czytaj