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 挑战,并通过单击下面的按钮请求企业报价!