Высокопроизводительный хостинг для WordPress LearnDash

Опубликовано: 2018-12-21

WordPress LearnDash, возможно, является одной из самых успешных платформ электронного обучения в мире WordPress LMS. Он предлагает расширенные функции для создания курсов, монетизации за счет интеграции с платежным шлюзом и администрирования профилей пользователей, групп и заданий курса. Он работает и на мобильных устройствах.

Хотя LearnDash является ведущим игроком, он очень ресурсоемкий. По своей природе приложения, которые должны динамически отображать персонализированный контент в режиме реального времени, такие как LMS (система управления обучением), требуют, чтобы контент в значительной степени не кэшировался, а пользователи выполняли вход в серверную часть. LearnDash не является исключением из этой внутренней проблемы.

В этом посте мы увидим, почему провайдеры хостинга WordPress мало что могут сделать, кроме соответствия мощности ЦП, необходимой для правильной работы LearnDash, и как Pressidium решает эти общие проблемы с производительностью.

Насколько ресурсоемок WordPress LearnDash?

Независимо от того, имеете ли вы сайт электронного обучения с низким или высоким трафиком, вы столкнетесь с техническими проблемами, как только начнете предъявлять к нему требования. Это может быть связано с количеством зарегистрированных пользователей, количеством курсов, количеством одновременно активных пользователей или любой их комбинацией. Эти проблемы могут варьироваться от полной загрузки оборудования и регулирования, проблем с записью в базу данных до серьезных замедлений пользователей, даже прерываний во время обучения.

Регулирование базы данных и конфликты транзакций

LearnDash выполняет несколько длинных наборов запросов SQL. Например, если у вас большое количество пользователей, скажем, 20 000, LearnDash выберет их всех, даже если вы просто хотите выбрать один профиль для редактирования.

Базовые решения по кластеризации серверов в этом случае тоже мало помогают. Почти каждое действие, выполняемое в LearnDash, обновляет базу данных. Когда кластер серверов, который обслуживает ваш сайт электронного обучения LearnDash, находится под большой нагрузкой, узлы серверов кластера постоянно записывают данные в базу данных. Это может привести к конфликтам транзакций .

В ситуациях с высоким трафиком это часто может привести к блокировке таблицы базы данных или полной блокировке базы данных, запрещающей доступ для записи всем. Это, конечно, катастрофично.

Пиковая загрузка ЦП

WordPress LearnDash по своей природе является динамическим приложением, которое плохо взаимодействует со стратегиями кэширования. Это не вина LearnDash, как мы говорили в начале, но это означает, что вы не можете просто повысить его производительность, просто кэшируя ответы HTTP.

Это связано с тем, что есть зарегистрированные пользователи, которые находятся в середине тестов с множественным выбором, с таймерами и контентом, который должен быть уникальным для них, и просто очень мало того, что можно кэшировать.

Таким образом, если почти весь контент не кэширован, это означает, что каждый пользователь LearnDash, проходящий тест, создаст как минимум 1 серверный 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 с нашими инженерами и запросите ценовое предложение для предприятия, нажав кнопку ниже!