استضافة عالية الأداء لـ WordPress LearnDash

نشرت: 2018-12-21

يعد WordPress LearnDash أحد أكثر منصات التعلم الإلكتروني نجاحًا في عالم WordPress LMS. يوفر ميزات متقدمة لإنشاء الدورة التدريبية ، وتحقيق الدخل من خلال تكامل بوابة الدفع ، وإدارة ملفات تعريف المستخدمين ، والمجموعات ، ومهام الدورة التدريبية. إنه يعمل على الهاتف المحمول أيضًا.

على الرغم من أن LearnDash لاعب رائد ، إلا أنه يتطلب موارد كثيرة. بطبيعتها ، تتطلب التطبيقات التي تحتاج إلى عرض محتوى مخصص في الوقت الفعلي ديناميكيًا مثل LMS (نظام إدارة التعلم) أن يكون المحتوى غير مؤقت إلى حد كبير وأن يتم تسجيل دخول المستخدمين إلى الواجهة الخلفية. LearnDash ليست استثناء لهذه المشكلة المتأصلة.

في هذا المنشور ، سنرى سبب عدم وجود الكثير مما يمكن لموفري استضافة WordPress القيام به ، إلى جانب مطابقة طاقة وحدة المعالجة المركزية اللازمة لـ LearnDash للعمل بشكل صحيح ، وكيف يعالج Pressidium مشكلات الأداء العامة هذه.

كيف يتم استخدام موارد WordPress LearnDash بشكل مكثف؟

بغض النظر عما إذا كان لديك موقع تعليم إلكتروني منخفض أو مرتفع الحركة ، فستواجه مشكلات فنية بمجرد أن تبدأ في وضع الطلبات عليه. قد يكون هذا من خلال عدد المستخدمين المسجلين ، أو عدد الدورات ، أو عدد المستخدمين النشطين في نفس الوقت ، أو أي مجموعة من هؤلاء. يمكن أن تتراوح هذه المشاكل من الاستخدام الكامل للأجهزة والاختناق ، ومشاكل كتابة قاعدة البيانات للمستخدمين الذين يعانون من تباطؤ شديد ، وحتى الانقطاعات أثناء فترة الدورة التدريبية.

اختناق قاعدة البيانات وتعارض المعاملات

يقوم LearnDash بتنفيذ بعض المجموعات الطويلة من استعلامات SQL. على سبيل المثال ، إذا كان لديك عدد كبير من المستخدمين ، لنفترض 20000 ، فسيقوم LearnDash بجلبهم جميعًا حتى إذا كنت تريد فقط تحديد ملف تعريف واحد لتحريره.

حلول تجميع الخادم الأساسية هي أيضًا قليلة المساعدة في هذه الحالة. يقوم كل إجراء يتم تنفيذه في LearnDash تقريبًا بتحديث قاعدة البيانات. عندما تكون مجموعة الخادم التي تخدم موقع التعلم الإلكتروني LearnDash الخاص بك تحت عبء ثقيل ، فإن عُقد خادم الكتلة تكتب باستمرار في قاعدة البيانات. هذا يمكن أن يؤدي إلى تعارض في المعاملات .

في حالات الازدحام الشديد ، يمكن أن ينتج عن ذلك غالبًا أقفال جدول قاعدة البيانات ، أو قفل قاعدة البيانات بالكامل ، مما يمنع الوصول للكتابة للجميع. هذا بالطبع كارثي.

ذروة استخدام وحدة المعالجة المركزية

WordPress LearnDash بطبيعته هو تطبيق ديناميكي لا يتعاون بشكل جيد مع استراتيجيات التخزين المؤقت. هذا ليس خطأ LearnDash كما قلنا في البداية ، ولكنه يعني أنه لا يمكنك ببساطة تسريع أدائه ، فقط عن طريق تخزين استجابات HTTP مؤقتًا.

هذا بسبب وجود مستخدمين قاموا بتسجيل الدخول ، وهم في منتصف اختبارات الاختيار من متعدد ، مع أجهزة ضبط الوقت والمحتوى الذي يجب تقديمه بشكل فريد لهم ، وببساطة هناك القليل جدًا الذي يمكن تخزينه مؤقتًا.

لذا ، فإن وجود كل المحتوى تقريبًا غير مؤقت ، يعني أن كل مستخدم LearnDash يقوم بإجراء اختبار ، سوف ينتج على الأقل ، عملية PHP خلفية واحدة. تخيل ما سيحدث ، إذا قام 50 مستخدمًا بتسجيل الدخول في وقت واحد تقريبًا!

بشكل عام ، لكي يتمكن المستخدم من تجربة جلسة LearnDash سلسة ، سيحتاج إلى موارد مخصصة لوحدة المعالجة المركزية. ومع ذلك ، فإن طلب وحدة المعالجة المركزية ليس ثابتًا ، حيث قد يقضي كل مستخدم بعض الوقت الخامل عبر الإنترنت ، أثناء إجراء الاختبار. إذا كان المبلغ الإجمالي لعمليات PHP الخلفية التي تنتظر تقديمها هو مضاعف إجمالي موارد تجمع وحدة المعالجة المركزية الخاصة بك ، ولم تفعل شيئًا جذريًا لتقليل الحمل (على سبيل المثال ، قم بإغلاق بعضها) ، فسيبدأ الانهيار الجليدي وستفقد الخادم بأكمله.

باختصار ، لن تتمكن إعدادات VPS البسيطة وخطط استضافة WordPress التي ليست Enterprise إلا من التعامل مع بضع عشرات من المستخدمين المسجلين في أحسن الأحوال. في تلك الحالات التي يقوم فيها جميع المستخدمين ببعض الإجراءات في وقت واحد تقريبًا ، ستصل إلى الذروة ، وسيبدأ كل شيء في الفشل.

بنية المؤسسة لـ WordPress LearnDash

الآن بعد أن تطرقنا لفترة وجيزة إلى بعض تحديات أداء LearnDash ورسمنا صورة مقلقة بعض الشيء ، نود أن نوضح لك كيف نتحدث عنها في Pressidium ، ولماذا يعتبر مجتمع LearnDash هندسة مؤسستنا واحدة من أفضل ، إن لم تكن الأفضل ، الأنظمة الأساسية لتشغيل LearnDash عليها.

الحقيقة هي أن غالبية منافسينا يثبطون ببساطة مواقع LMS الكبيرة لأنهم لا يستطيعون التعامل مع المطالب التي يضعها على بنيتهم ​​التحتية. كما ذكرنا سابقًا ، لا تستطيع إعدادات VPS البسيطة أو حتى أنظمة التجميع الأساسية التعامل مع حركة المرور العالية أو مع عدد كبير من المستخدمين المتزامنين. هذا هو السبب في أننا لا نوصي ولا نشجع استخدامه في خططنا القياسية في هذه الحالات. الاستثناء الوحيد للتطوير أو للإعدادات الصغيرة جدًا.

نوصي عمومًا ببرنامج Pressidium Enterprise باعتباره الخيار الأفضل لمواقع الإنتاج الكبيرة التي تشغل LearnDash. نجحنا في إدارة وتشغيل عمليات تثبيت Enterprise LearnDash مع آلاف المستخدمين المتزامنين .

لحل مشكلة تقييد قاعدة البيانات ، قمنا بتطوير بعض تقنيات تحسين قاعدة البيانات التي تعمل على تسريع LearnDash مع الحفاظ على الإتاحة العالية (برنامج LearnDash غير متوافق بطبيعته مع قواعد البيانات عالية الإتاحة متعددة البرامج الرئيسية). نسميها بمودة "الصلصة السرية الخاصة بنا" لأن هذه التقنيات مخصصة للغاية ومصممة خصيصًا لتناسب بنية مؤسستنا الفريدة.

ومع ذلك ، ضع في اعتبارك أنه لا يمكن تطبيق هذه التخصيصات إلا على خطط المؤسسة نظرًا لأنها توفر مجموعة خادم مؤسسة مخصصة تحت تصرفك. يمكن أيضًا تطبيقها على مكونات LMS الإضافية الأخرى ، في حالة عدم استخدام LearnDash في فصلك الدراسي.

من ناحية أخرى ، يعد حلنا لمشكلة ذروة وحدة المعالجة المركزية أكثر وضوحًا: إضافة المزيد من القدرة الحصانية لوحدة المعالجة المركزية. هذا هو سبب عدم استخدامنا لموفري الحوسبة السحابية للأغراض العامة مثل Google Cloud أو AWS ، ولكننا أنشأنا نظامنا الأساسي من الألف إلى الياء بأنفسنا. والنتيجة هي كفاءة التكلفة التي تُترجم إلى موارد أكثر بكثير لعملائنا بمستويات تسعير مماثلة أو حتى أقل لمنافسينا:

تكوين 2N + 1 عالي الإتاحة في مجموعة خوادم مخصصة ذات 5 عقد متوازنة مع عوامل عزل وتكرار أعلى. تعمل هذه على تمكين موقع WordPress LearnDash الخاص بك من التوسع التلقائي أثناء ارتفاعات حركة المرور وتأثيرات النقاط المائلة ، ويكون متاحًا بدرجة عالية ومتسامحًا مع الأخطاء.

نحن فخورون بقدرات أداء LearnDash لمنصتنا ، حيث إنها تخفف تمامًا من ضغوط مالكي مواقع LearnDash ، حيث يتعين عليهم التعامل مع المشكلات الفنية في منتصف الجلسة. لكننا فخورون أكثر لأن بنية المؤسسة لدينا تدعم أحلام التعلم واحتياجات مستخدمي LearnDash ، من جميع أنحاء العالم.

انضم إلى Pressidium وقم بتحويل موقع LearnDash الخاص بك إلى مركز تعليم إلكتروني عالي الأداء. شارك تحديات LearnDash الخاصة بك مع مهندسينا واطلب عرض أسعار للمؤسسة من خلال النقر فوق الزر أدناه!