Găzduire de înaltă performanță pentru WordPress LearnDash

Publicat: 2018-12-21

WordPress LearnDash este, fără îndoială, una dintre cele mai de succes platforme de e-learning din lumea WordPress LMS. Oferă funcții avansate pentru crearea de cursuri, monetizare prin integrarea gateway-ului de plată și administrarea profilurilor de utilizatori, a grupurilor și a misiunilor de curs. Functioneaza si pe mobil.

Deși LearnDash este un jucător de top, consumă foarte mult resurse. Prin natură, aplicațiile care trebuie să redeze în mod dinamic conținut personalizat în timp real, cum ar fi un LMS (Learning Management System), vor necesita ca conținutul să fie în mare parte scos din cache și utilizatorii să fie conectați la backend. LearnDash nu face excepție de la această problemă inerentă.

În această postare, vom vedea de ce furnizorii de găzduire WordPress nu pot face multe, în afară de potrivirea puterii procesorului care este necesară pentru ca LearnDash să funcționeze corect și cum Pressidium abordează aceste probleme generale de performanță.

Cum este intensivă resursele WordPress LearnDash?

Indiferent dacă aveți un site de e-learning cu trafic scăzut sau mare, veți întâmpina probleme tehnice odată ce începeți să solicitați acestuia. Aceasta poate fi prin numărul de utilizatori înregistrați, numărul de cursuri, numărul de utilizatori activi simultan sau orice combinație a acestora. Aceste probleme pot varia de la utilizarea completă a hardware-ului și limitarea, probleme de scriere a bazei de date până la utilizatorii care se confruntă cu încetiniri severe, chiar și întreruperi în timpul cursului.

Limitarea bazelor de date și conflicte de tranzacții

LearnDash execută câteva seturi lungi de interogări SQL. De exemplu, dacă aveți un număr mare de utilizatori, să zicem 20.000, LearnDash îi va prelua pe toți chiar dacă doriți doar să selectați un profil de editat.

Soluțiile de bază de clustering ale serverelor sunt, de asemenea, de puțin ajutor în acest caz. Aproape fiecare acțiune efectuată în LearnDash actualizează baza de date. Atunci când clusterul de servere care deservește site-ul dvs. de e-learning LearnDash este supus unei sarcini grele, nodurile serverului clusterului scriu în mod constant în baza de date. Acest lucru poate duce la conflicte de tranzacții .

În situații cu trafic ridicat, acestea pot duce adesea la blocarea tabelului bazei de date sau la blocarea completă a bazei de date, interzicând accesul la scriere pentru toată lumea. Acest lucru, desigur, este dezastruos.

Utilizare maximă a procesorului

WordPress LearnDash este o aplicație dinamică care nu cooperează bine cu strategiile de stocare în cache. Aceasta nu este vina LearnDash, așa cum am spus la început, dar înseamnă că nu îi puteți accelera pur și simplu performanța, doar prin memorarea în cache a răspunsurilor HTTP.

Acest lucru se datorează faptului că există utilizatori autentificați, care se află în mijlocul testelor cu opțiuni multiple, cu cronometre și conținut care trebuie redate în mod unic pentru ei și pur și simplu există foarte puține lucruri care pot fi stocate în cache.

Deci, având aproape tot conținutul necacheat, înseamnă că fiecare utilizator LearnDash care face un test va genera cel puțin 1 proces PHP backend. Imaginați-vă ce se va întâmpla dacă 50 de utilizatori se conectează aproape simultan!

În general, pentru ca un utilizator să experimenteze o sesiune LearnDash fără probleme, va avea nevoie de resurse CPU dedicate. Cu toate acestea, cererea CPU nu este constantă, deoarece fiecare utilizator poate petrece ceva timp inactiv online, în timp ce face testul. Dacă valoarea totală a proceselor PHP de backend care așteaptă să fie servite este un multiplu al resurselor totale ale grupului CPU și nu faceți ceva drastic pentru a reduce încărcarea (de exemplu, opriți unele dintre ele), va începe o avalanșă. și vei pierde întregul server.

Pentru a rezuma, setările simple VPS și planurile de găzduire WordPress care nu sunt Enterprise vor putea gestiona în cel mai bun caz doar câteva zeci de utilizatori conectați. În acele cazuri în care toți utilizatorii efectuează o acțiune aproape simultan, veți atinge un vârf și totul va începe să eșueze.

Arhitectură Enterprise pentru WordPress LearnDash

Acum că am atins pe scurt câteva dintre provocările de performanță ale LearnDash și am pictat o imagine ușor deconcernătoare, am dori să vă arătăm cum le abordăm la Pressidium și de ce arhitectura noastră Enterprise este considerată de comunitatea LearnDash drept una dintre cele mai bune. , dacă nu cele mai bune, platforme pe care să rulați LearnDash.

Adevărul este că majoritatea concurenților noștri pur și simplu descurajează site-urile LMS mari, deoarece nu pot face față solicitărilor pe care le impun infrastructurii lor. După cum am menționat mai devreme, setările simple VPS sau chiar sistemele de clustering de bază pur și simplu nu pot face față unui trafic ridicat sau cu un număr mare de utilizatori concurenți. Acesta este motivul pentru care nu recomandăm și nu încurajăm utilizarea acestuia pe planurile noastre standard în aceste cazuri. Singura excepție fiind pentru dezvoltare sau configurații foarte mici.

În general, recomandăm Pressidium Enterprise ca cea mai bună opțiune pentru site-urile mari de producție care rulează LearnDash. Gestionăm și operăm cu succes instalațiile Enterprise LearnDash cu mii de utilizatori concurenți .

Pentru a rezolva problema limitării bazei de date, am dezvoltat anumite tehnici de optimizare a bazei de date care accelerează LearnDash, menținând în același timp disponibilitatea înaltă (LearnDash este, din păcate, inerent incompatibil cu bazele de date multi-master de înaltă disponibilitate). Le numim cu afecțiune „sosul nostru secret”, deoarece aceste tehnici sunt foarte personalizate și adaptate exact arhitecturii noastre unice de întreprindere.

Țineți minte, totuși, că aceste personalizări pot fi aplicate numai pe planurile de întreprindere, deoarece oferă un cluster de servere de întreprindere dedicat la dispoziția dumneavoastră. Ele pot fi aplicate și altor plugin-uri LMS, în cazul în care nu utilizați LearnDash în sala de clasă.

Soluția noastră la problema CPU de vârf, pe de altă parte, este mult mai simplă: adăugați mai multă putere brută a procesorului. Acesta este motivul pentru care nu am folosit furnizori de cloud computing de uz general, cum ar fi Google Cloud sau AWS, ci ne-am construit singuri platforma de la zero. Rezultatul este eficiența costurilor care se traduce în resurse semnificativ mai mari pentru clienții noștri la niveluri de preț similare sau chiar mai mici cu cele ale concurenților noștri:

Configurație de înaltă disponibilitate 2N+1 într-un cluster de servere dedicat cu 5 noduri cu încărcare echilibrată cu factori mai mari de izolare și redundanță. Acestea permit site-ului dvs. WordPress LearnDash să se scaleze automat în timpul creșterilor de trafic și efectelor slashdot și să fie foarte disponibil și tolerant la erori.

Suntem mândri de capabilitățile de performanță LearnDash ale platformei noastre, deoarece ameliorează complet stresul proprietarilor de site-uri LearnDash, fiind nevoiți să facă față problemelor tehnice în mijlocul unei sesiuni. Dar suntem și mai mândri pentru că arhitectura noastră Enterprise susține visele și nevoile de învățare ale utilizatorilor LearnDash, din întreaga lume.

Alăturați-vă Pressidium și transformați-vă site-ul LearnDash într-un centru de e-learning de înaltă performanță. Împărtășiți provocările dvs. LearnDash cu inginerii noștri și solicitați o ofertă de companie făcând clic pe butonul de mai jos!