WordPressLearnDashの高性能ホスティング

公開: 2018-12-21

WordPress LearnDashは、間違いなくWordPressLMSの世界で最も成功しているeラーニングプラットフォームの1つです。 コースの作成、支払いゲートウェイの統合による現金化、およびユーザープロファイル、グループ、コース割り当ての管理のための高度な機能を提供します。 モバイルでも動作します。

LearnDashは主要なプレーヤーですが、非常に多くのリソースを消費します。 本質的に、LMS(Learning Management System)などのリアルタイムのパーソナライズされたコンテンツを動的にレンダリングする必要があるアプリケーションでは、コンテンツの大部分をキャッシュ解除し、ユーザーをバックエンドにログインさせる必要があります。 LearnDashもこの固有の問題の例外ではありません。

この投稿では、LearnDashが適切に機能するために必要なCPUパワーを一致させる以外に、WordPressホスティングプロバイダーが実行できることが多くない理由と、Pressidiumがこれらの一般的なパフォーマンスの問題にどのように対処するかを説明します。

WordPress LearnDashのリソースはどのように集中していますか?

トラフィックの少ないeラーニングサイトでもトラフィックの多いeラーニングサイトでも、要求を出し始めると技術的な問題が発生します。 これは、登録ユーザーの数、コースの数、同時にアクティブなユーザーの数、またはこれらの任意の組み合わせによる可能性があります。 これらの問題は、ハードウェアの完全な使用率とスロットリング、データベース書き込みの問題から、コース時間中の中断でさえも深刻な速度低下を経験しているユーザーにまで及ぶ可能性があります。

データベースのスロットリングとトランザクションの競合

LearnDashは、いくつかの長いSQLクエリのセットを実行します。 たとえば、20,000人などの多数のユーザーがいる場合、編集するプロファイルを1つだけ選択したい場合でも、LearnDashはそれらすべてをフェッチします。

この場合、基本的なサーバークラスタリングソリューションもほとんど役に立ちません。 LearnDashで実行されるほとんどすべてのアクションは、データベースを更新します。 LearnDash eラーニングサイトにサービスを提供しているサーバークラスターに大きな負荷がかかっている場合、クラスターサーバーノードは常にデータベースに書き込みを行っています。 これにより、トランザクションの競合が発生する可能性があります。

トラフィックの多い状況では、これらの結果、データベーステーブルがロックされたり、データベースが完全にロックされたりして、すべてのユーザーへの書き込みアクセスが許可されなくなることがよくあります。 もちろん、これは悲惨です。

ピークCPU使用率

WordPress LearnDashは本質的に動的なアプリケーションであり、キャッシュ戦略とうまく連携しません。 これは、最初に述べたようにLearnDashのせいではありませんが、HTTP応答をキャッシュするだけでは、単にパフォーマンスを高速化できないことを意味します。

これは、複数選択テストの最中にログインしているユーザーがいて、タイマーとコンテンツを一意にレンダリングする必要があり、キャッシュできるものがほとんどないためです。

つまり、ほとんどすべてのコンテンツがキャッシュされていないということは、テストを受けている各LearnDashユーザーが、少なくとも1つのバックエンドPHPプロセスを生成することを意味します。 50人のユーザーがほぼ同時にログインするとどうなるか想像してみてください。

一般に、ユーザーがスムーズなLearnDashセッションを体験するには、専用のCPUリソースが必要です。 ただし、各ユーザーがテストの実行中にオンラインでアイドル時間を費やす可能性があるため、CPUの需要は一定ではありません。 処理されるのを待機しているバックエンドPHPプロセスの合計量が、CPUプールリソースの合計の倍数であり、負荷を軽減するために大幅な処理を行わない場合(たとえば、一部をシャットダウンする場合)、雪崩が発生します。サーバー全体が失われます。

要約すると、エンタープライズではない単純なVPSセットアップとWordPressホスティングプランは、せいぜい数十人のログインユーザーしか処理できません。 すべてのユーザーがほぼ同時に何らかのアクションを実行する場合、ピークに達し、すべてが失敗し始めます。

WordPressLearnDashのエンタープライズアーキテクチャ

LearnDashのパフォーマンスの課題のいくつかに簡単に触れ、少し戸惑うような絵を描いたので、Pressidiumでそれらにどのように対処するか、そしてエンタープライズアーキテクチャがLearnDashコミュニティによって最高の1つと見なされる理由を示したいと思います。 、最適ではないにしても、LearnDashを実行するためのプラットフォーム。

真実は、競合他社の大多数は、大規模なLMSサイトがインフラストラクチャに課す要求に対応できないため、単にそれを思いとどまらせているということです。 前に述べたように、単純なVPSセットアップ、または基本的なクラスタリングシステムでさえ、大量のトラフィックや大量の同時ユーザーを処理することはできません。 このため、これらの場合、標準プランでの使用を推奨または推奨しません。 唯一の例外は、開発または非常に小さなセットアップです。

LearnDashを実行している大規模な本番サイトには、通常、PressidiumEnterpriseを最適なオプションとしてお勧めします。 何千人もの同時ユーザーがいるEnterpriseLearnDashのインストールを正常に管理および運用しています。

データベーススロットリングの問題を解決するために、高可用性を維持しながらLearnDashを高速化する特定のデータベース最適化手法を開発しました(残念ながら、LearnDashはマルチマスター高可用性データベースと本質的に互換性がありません)。 これらの技術は高度にカスタマイズされており、独自のエンタープライズアーキテクチャに正確に合わせられているため、私たちはそれらを愛情を込めて「私たちの秘密のソース」と呼んでいます。

ただし、これらのカスタマイズは、専用のエンタープライズサーバークラスターを自由に使用できるため、エンタープライズプランにのみ適用できることに注意してください。 教室でLearnDashを使用していない場合は、他のLMSプラグインにも適用できます。

一方、ピークCPU問題に対する私たちの解決策は、はるかに簡単です。生のCPU馬力を追加します。 これが、Google CloudやAWSなどの汎用クラウドコンピューティングプロバイダーを使用せず、独自にプラットフォームをゼロから構築した理由です。 その結果、コスト効率が向上し、競合他社と同等またはそれよりも低い価格レベルで、お客様のリソースが大幅に増加します。

負荷分散された5ノードの専用サーバークラスターでの2N+1高可用性構成で、分離と冗長性の要素が高くなっています。 これらにより、WordPress LearnDashサイトは、トラフィックの急増やスラッシュドット効果の際に自動スケーリングでき、可用性が高く、フォールトトレラントになります。

私たちは、セッションの途中で技術的な問題に対処しなければならないLearnDashサイト所有者のストレスを完全に軽減するため、プラットフォームのLearnDashパフォーマンス機能を誇りに思っています。 しかし、私たちのエンタープライズアーキテクチャは、世界中のLearnDashユーザーの学習の夢とニーズをサポートしているため、さらに誇りに思っています。

Pressidiumに参加して、LearnDashサイトを高性能のeラーニングセンターに変えましょう。 LearnDashの課題をエンジニアと共有し、下のボタンをクリックして企業の見積もりをリクエストしてください。