WordPress LearnDash 的高性能託管

已發表: 2018-12-21

WordPress LearnDash 可以說是 WordPress LMS 世界中最成功的電子學習平台之一。 它為課程創建、通過支付網關集成獲利以及用戶資料、小組和課程分配的管理提供高級功能。 它也適用於移動設備。

儘管 LearnDash 是領先者,但它非常耗費資源。 從本質上講,需要動態呈現實時個性化內容的應用程序(例如 LMS(學習管理系統))將要求內容在很大程度上未緩存,並且用戶必須登錄到後端。 LearnDash 對這個固有問題也不例外。

在這篇文章中,我們將了解為什麼 WordPress 託管服務提供商除了匹配 LearnDash 正常運行所需的 CPU 能力之外,無能為力,以及 Pressidium 如何解決這些一般性能問題。

WordPress LearnDash 資源密集度如何?

無論您的電子學習網站是低流量還是高流量,一旦您開始對其提出要求,就會遇到技術問題。 這可能是通過註冊用戶的數量、課程的數量、同時活躍的用戶數量或這些的任意組合。 這些問題的範圍可以從完整的硬件利用率和限制、數據庫寫入問題到用戶遇到嚴重的減速,甚至是課程期間的中斷。

數據庫限制和事務衝突

LearnDash 執行一些長的 SQL 查詢集。 例如,如果您有大量用戶,比如 20,000,即使您只想選擇一個配置文件進行編輯,LearnDash 也會獲取所有用戶。

在這種情況下,基本的服務器集群解決方案也無濟於事。 幾乎在 LearnDash 中執行的每個操作都會更新數據庫。 當為您的 LearnDash 電子學習站點提供服務的服務器集群負載過重時,集群服務器節點會不斷地寫入數據庫。 這會導致事務衝突

在高流量情況下,這些通常會導致數據庫表鎖定或完整的數據庫鎖定,從而不允許每個人進行寫訪問。 這當然是災難性的。

峰值 CPU 利用率

WordPress LearnDash 本質上是一個動態應用程序,不能很好地配合緩存策略。 這不是我們一開始說的 LearnDash 的錯,但這確實意味著你不能簡單地通過緩存 HTTP 響應來加速它的性能。

之所以如此,是因為有登錄用戶,他們處於多項選擇測試的中間,需要為他們唯一呈現的計時器和內容,而且可以緩存的內容很少。

因此,幾乎所有內容都未緩存,這意味著每個正在參加測試的 LearnDash 用戶將至少生成 1 個後端 PHP 進程。 想像一下,如果 50 個用戶幾乎同時登錄會發生什麼!

一般來說,要讓用戶體驗流暢的 LearnDash 會話,他們將需要專用的 CPU 資源。 但是,CPU 需求不是恆定的,因為每個用戶在進行測試時可能會花費一些空閒時間在線。 如果等待服務的後端 PHP 進程的總量是 CPU 池資源總量的倍數,並且您沒有採取劇烈措施來減輕負載(例如,關閉其中一些),那麼雪崩就會開始你將失去整個服務器。

總而言之,簡單的 VPS 設置和非企業版的 WordPress 託管計劃最多只能處理幾十個登錄用戶。 在所有用戶幾乎同時執行某些操作的情況下,您將達到頂峰,一切都將開始失敗。

WordPress LearnDash 的企業架構

既然我們已經簡要介紹了 LearnDash 的一些性能挑戰並描繪了一幅稍微令人不安的畫面,我們想向您展示我們如何在 Pressidium 解決這些問題,以及為什麼我們的企業架構被 LearnDash 社區認為是最好的架構之一,如果不是最好的,運行 LearnDash 的平台。

事實是,我們的大多數競爭對手只是不鼓勵大型 LMS 站點,因為他們無法應對其對其基礎設施提出的要求。 正如我們前面提到的,簡單的 VPS 設置,甚至是基本的集群系統根本無法處理高流量或大量並髮用戶。 這就是為什麼我們不建議也不鼓勵在這些情況下將其用於我們的標準計劃。 唯一的例外是用於開發或非常小的設置。

我們通常推薦 Pressidium Enterprise 作為運行 LearnDash 的大型生產站點的最佳選擇。 我們成功地管理和運營了擁有數千名並髮用戶的Enterprise LearnDash 安裝。

為了解決數據庫限制問題,我們開發了某些數據庫優化技術,可以在保持高可用性的同時加速 LearnDash(不幸的是,LearnDash 與多主高可用性數據庫天生不兼容)。 我們親切地稱它們為“我們的秘訣” ,因為這些技術是高度定制的,並且完全適合我們獨特的企業架構。

但請記住,這些自定義只能應用於企業計劃,因為它們提供了一個專用的企業服務器集群供您使用。 如果您沒有在課堂上使用 LearnDash,它們也可以應用於其他 LMS 插件。

另一方面,我們對峰值 CPU 問題的解決方案要簡單得多:增加更多的原始 CPU 馬力。 這就是我們沒有使用 Google Cloud 或 AWS 等通用雲計算提供商的原因,而是自己從頭開始構建我們的平台。 其結果是成本效率,從而以與我們的競爭對手相似甚至更低的價格水平為我們的客戶轉化為顯著更多的資源:

負載平衡的 5 節點專用服務器集群中的 2N+1 高可用性配置,具有更高的隔離和冗餘因素。 這些使您的 WordPress LearnDash 站點能夠在流量高峰和斜線效應期間自動擴展,並且具有高可用性和容錯性。

我們為我們平台的 LearnDash 性能能力感到自豪,因為它完全減輕了 LearnDash 網站所有者的壓力,不得不在會話中間處理技術問題。 但我們更加自豪,因為我們的企業架構支持來自世界各地的 LearnDash 用戶的學習夢想和需求。

加入 Pressidium 並將您的 LearnDash 網站轉變為高性能的電子學習中心。 與我們的工程師分享您的 LearnDash 挑戰,並通過單擊下面的按鈕請求企業報價!