Wysokowydajny hosting dla WordPress LearnDash

Opublikowany: 2018-12-21

WordPress LearnDash jest prawdopodobnie jedną z najbardziej udanych platform e-learningowych w świecie WordPress LMS. Oferuje zaawansowane funkcje tworzenia kursów, zarabiania poprzez integrację bramki płatności oraz administrowania profilami użytkowników, grupami i przydziałami kursów. Działa również na urządzeniach mobilnych.

Chociaż LearnDash jest wiodącym graczem, jest bardzo zasobożerny. Z natury rzeczy aplikacje, które muszą dynamicznie renderować spersonalizowaną zawartość w czasie rzeczywistym, takie jak LMS (Learning Management System), będą wymagały, aby zawartość była w dużej mierze niezapisana w pamięci podręcznej, a użytkownicy muszą być zalogowani do zaplecza. LearnDash nie jest wyjątkiem od tego nieodłącznego problemu.

W tym poście dowiemy się, dlaczego dostawcy hostingu WordPress nie mogą wiele zrobić, poza dopasowaniem mocy procesora potrzebnej do prawidłowego działania LearnDash oraz jak Pressidium rozwiązuje te ogólne problemy z wydajnością.

Jak intensywnie wykorzystuje zasoby WordPress LearnDash?

Bez względu na to, czy masz witrynę e-learningową o małym czy dużym ruchu, napotkasz problemy techniczne, gdy zaczniesz stawiać jej wymagania. Może to być liczba zarejestrowanych użytkowników, liczba kursów, liczba jednocześnie aktywnych użytkowników lub dowolna ich kombinacja. Problemy te mogą obejmować pełne wykorzystanie sprzętu i ograniczanie przepustowości, problemy z zapisem bazy danych do użytkowników doświadczających poważnych spowolnień, a nawet przerw w czasie kursu.

Ograniczanie przepustowości bazy danych i konflikty transakcji

LearnDash wykonuje kilka długich zestawów zapytań SQL. Na przykład, jeśli masz dużą liczbę użytkowników, powiedzmy 20 000, LearnDash pobierze ich wszystkich, nawet jeśli chcesz tylko wybrać jeden profil do edycji.

W tym przypadku nie przydają się również podstawowe rozwiązania klastrowe serwerów. Prawie każda czynność wykonywana w LearnDash aktualizuje bazę danych. Gdy klaster serwerów obsługujący witrynę e-learningową LearnDash jest mocno obciążony, węzły serwera klastra stale zapisują dane w bazie danych. Może to prowadzić do konfliktów transakcji .

W sytuacjach o dużym natężeniu ruchu może to często skutkować zablokowaniem tabeli bazy danych lub pełną blokadą bazy danych, uniemożliwiając wszystkim dostęp do zapisu. To oczywiście jest katastrofalne.

Szczytowe wykorzystanie procesora

WordPress LearnDash z natury jest dynamiczną aplikacją, która nie współpracuje dobrze ze strategiami buforowania. To nie jest wina LearnDash, jak powiedzieliśmy na początku, ale oznacza to, że nie można po prostu przyspieszyć jego działania, po prostu buforując odpowiedzi HTTP.

Dzieje się tak, ponieważ są zalogowani użytkownicy, którzy są w trakcie testów wielokrotnego wyboru, z licznikami czasu i treściami, które muszą być specjalnie dla nich renderowane, i po prostu niewiele można zbuforować.

Tak więc posiadanie prawie całej zawartości niezapisanej w pamięci podręcznej oznacza, że ​​każdy użytkownik LearnDash, który bierze udział w teście, odrodzi co najmniej 1 backendowy proces PHP. Wyobraź sobie, co się stanie, jeśli 50 użytkowników zaloguje się prawie jednocześnie!

Ogólnie rzecz biorąc, aby użytkownik mógł doświadczyć płynnej sesji LearnDash, będzie potrzebował dedykowanych zasobów procesora. Jednak zapotrzebowanie na procesor nie jest stałe, ponieważ każdy użytkownik może spędzać trochę czasu bezczynnie online podczas wykonywania testu. Jeśli łączna liczba procesów PHP zaplecza oczekujących na obsłużenie jest wielokrotnością całkowitej puli zasobów procesora i nie zrobisz nic drastycznego, aby zmniejszyć obciążenie (na przykład, nie zamkniesz niektórych z nich), rozpocznie się lawina i stracisz cały serwer.

Podsumowując, proste konfiguracje VPS i plany hostingowe WordPress, które nie są Enterprise, będą w stanie obsłużyć co najwyżej kilkudziesięciu zalogowanych użytkowników. W tych przypadkach, w których wszyscy użytkownicy wykonują jakąś czynność prawie jednocześnie, osiągniesz szczyt i wszystko zacznie zawodzić.

Architektura korporacyjna dla WordPress LearnDash

Teraz, gdy pokrótce poruszyliśmy niektóre wyzwania związane z wydajnością LearnDash i namalowaliśmy nieco niepokojący obraz, chcielibyśmy pokazać, w jaki sposób zajmujemy się nimi w Pressidium i dlaczego nasza architektura korporacyjna jest uważana przez społeczność LearnDash za jedną z najlepszych , jeśli nie najlepsze, platformy, na których można uruchomić LearnDash.

Prawda jest taka, że ​​większość naszych konkurentów po prostu zniechęca duże witryny LMS, ponieważ nie są w stanie sprostać wymaganiom stawianym ich infrastrukturze. Jak wspomnieliśmy wcześniej, proste konfiguracje VPS, a nawet podstawowe systemy klastrowe po prostu nie radzą sobie z dużym ruchem lub dużą liczbą jednoczesnych użytkowników. Dlatego w takich przypadkach nie zalecamy ani nie zachęcamy do jego używania w naszych standardowych planach. Jedynym wyjątkiem jest rozwój lub bardzo małe konfiguracje.

Ogólnie zalecamy Pressidium Enterprise jako najlepszą opcję dla dużych zakładów produkcyjnych z systemem LearnDash. Z powodzeniem zarządzamy i obsługujemy instalacje Enterprise LearnDash z tysiącami równoczesnych użytkowników .

Aby rozwiązać problem ograniczania bazy danych, opracowaliśmy pewne techniki optymalizacji bazy danych, które przyspieszają LearnDash przy zachowaniu wysokiej dostępności (LearnDash jest niestety z natury niekompatybilny z bazami danych o wysokiej dostępności z wieloma wzorcami). Nazywamy je czule „naszym sekretnym sosem”, ponieważ te techniki są wysoce spersonalizowane i dostosowane dokładnie do naszej unikalnej architektury korporacyjnej.

Pamiętaj jednak, że te dostosowania można zastosować tylko w planach Enterprise, ponieważ oferują one do Twojej dyspozycji dedykowany klaster serwerów korporacyjnych. Można je również zastosować do innych wtyczek LMS, jeśli nie używasz LearnDash w swojej klasie.

Z drugiej strony nasze rozwiązanie szczytowego problemu z procesorem jest znacznie prostsze: dodaj więcej czystej mocy procesora. Z tego powodu nie korzystaliśmy z dostawców usług przetwarzania w chmurze ogólnego przeznaczenia, takich jak Google Cloud czy AWS, ale sami zbudowaliśmy naszą platformę od podstaw. Rezultatem jest efektywność kosztowa, która przekłada się na znacznie więcej zasobów dla naszych klientów przy podobnych lub nawet niższych poziomach cenowych dla naszych konkurentów:

Konfiguracja wysokiej dostępności 2N+1 w 5-węzłowym klastrze serwerów dedykowanych o zrównoważonym obciążeniu z wyższymi współczynnikami izolacji i nadmiarowości. Umożliwiają one automatyczne skalowanie witryny LearnDash WordPress podczas skoków ruchu i efektów slashdot oraz zapewniają wysoką dostępność i odporność na błędy.

Jesteśmy dumni z możliwości naszej platformy LearnDash, ponieważ całkowicie łagodzi ona stres właścicieli witryn LearnDash, którzy muszą radzić sobie z problemami technicznymi w trakcie sesji. Ale jesteśmy jeszcze bardziej dumni, ponieważ nasza architektura korporacyjna wspiera marzenia i potrzeby edukacyjne użytkowników LearnDash z całego świata.

Dołącz do Pressidium i przekształć swoją witrynę LearnDash w wydajne centrum e-learningowe. Podziel się swoimi wyzwaniami LearnDash z naszymi inżynierami i poproś o wycenę przedsiębiorstwa, klikając poniższy przycisk!