Hospedagem de alto desempenho para WordPress LearnDash

Publicados: 2018-12-21

O WordPress LearnDash é sem dúvida uma das plataformas de e-learning de maior sucesso no mundo WordPress LMS. Ele oferece recursos avançados para criação de cursos, monetização por meio de integração de gateway de pagamento e administração de perfis de usuários, grupos e atribuições de cursos. Funciona no celular também.

Embora o LearnDash seja um player líder, ele consome muitos recursos. Por natureza, os aplicativos que precisam renderizar dinamicamente conteúdo personalizado em tempo real, como um LMS (Learning Management System), exigirão que o conteúdo seja em grande parte sem cache e que os usuários estejam conectados ao back-end. O LearnDash não é exceção a esse problema inerente.

Neste post, veremos por que não há muito que os provedores de hospedagem do WordPress possam fazer, além de combinar a potência da CPU necessária para que o LearnDash funcione corretamente e como o Pressidium aborda esses problemas gerais de desempenho.

Como o WordPress LearnDash é intensivo em recursos?

Não importa se você tem um site de e-learning com baixo ou alto tráfego, você terá problemas técnicos quando começar a fazer exigências. Isso pode ser através do número de usuários cadastrados, número de cursos, número de usuários ativos simultaneamente ou qualquer combinação destes. Esses problemas podem variar desde a utilização e limitação total do hardware, problemas de gravação do banco de dados até usuários com lentidão severa, até mesmo interrupções durante o curso.

Limitação de banco de dados e conflitos de transação

LearnDash executa alguns longos conjuntos de consultas SQL. Por exemplo, se você tiver um grande número de usuários, digamos 20.000, o LearnDash buscará todos eles, mesmo que você queira selecionar apenas um perfil para editar.

As soluções básicas de cluster de servidor também são de pouca ajuda nesse caso. Quase todas as ações executadas no LearnDash atualizam o banco de dados. Quando o cluster de servidor que está atendendo seu site de e-learning LearnDash está sob carga pesada, os nós do servidor de cluster estão constantemente gravando no banco de dados. Isso pode levar a conflitos de transação .

Em situações de alto tráfego, isso geralmente pode resultar em bloqueios de tabela de banco de dados ou em um bloqueio completo de banco de dados, impedindo o acesso de gravação a todos. Isso, claro, é desastroso.

Pico de utilização da CPU

O WordPress LearnDash por natureza é um aplicativo dinâmico que não coopera bem com estratégias de cache. Isso não é culpa do LearnDash, como dissemos no início, mas significa que você não pode simplesmente acelerar seu desempenho, apenas armazenando em cache as respostas HTTP.

Isso ocorre porque há usuários logados, que estão no meio de testes de múltipla escolha, com temporizadores e conteúdo que precisa ser renderizado exclusivamente para eles, e simplesmente há muito pouco que pode ser armazenado em cache.

Portanto, ter quase todo o conteúdo sem cache significa que cada usuário do LearnDash que estiver fazendo um teste gerará pelo menos 1 processo PHP de back-end. Imagine o que acontecerá se 50 usuários fizerem login quase simultaneamente!

Em geral, para que um usuário experimente uma sessão de LearnDash tranquila, ele precisará de recursos de CPU dedicados. No entanto, a demanda de CPU não é constante, pois cada usuário pode passar algum tempo ocioso online, enquanto faz o teste. Se a quantidade total de processos PHP de back-end esperando para serem atendidos for um múltiplo do total de recursos do pool de CPU e você não fizer algo drástico para diminuir a carga (por exemplo, desligar alguns deles), uma avalanche começará e você perderá todo o servidor.

Para resumir, configurações simples de VPS e planos de hospedagem WordPress que não são Enterprise só poderão lidar com algumas dezenas de usuários logados na melhor das hipóteses. Nos casos em que todos os usuários executam alguma ação quase simultaneamente, você atingirá um pico e tudo começará a falhar.

Arquitetura corporativa para WordPress LearnDash

Agora que abordamos brevemente alguns dos desafios de desempenho do LearnDash e pintamos uma imagem um pouco desconcertante, gostaríamos de mostrar como os abordamos no Pressidium e por que nossa Arquitetura Empresarial é considerada pela comunidade LearnDash como uma das melhores , se não a melhor, plataformas para executar o LearnDash.

A verdade é que a maioria de nossos concorrentes simplesmente desencoraja grandes sites LMS, pois eles não conseguem lidar com as demandas que colocam em sua infraestrutura. Como mencionamos anteriormente, configurações simples de VPS, ou mesmo sistemas básicos de cluster, simplesmente não podem lidar com alto tráfego ou com uma grande quantidade de usuários simultâneos. É por isso que não recomendamos nem incentivamos seu uso em nossos planos padrão nesses casos. A única exceção é para desenvolvimento ou configurações muito pequenas.

Geralmente, recomendamos o Pressidium Enterprise como a melhor opção para grandes sites de produção que executam o LearnDash. Gerenciamos e operamos com sucesso as instalações do Enterprise LearnDash com milhares de usuários simultâneos .

Para resolver o problema de limitação de banco de dados, desenvolvemos certas técnicas de otimização de banco de dados que aceleram o LearnDash enquanto mantêm a alta disponibilidade (o LearnDash infelizmente é inerentemente incompatível com bancos de dados de alta disponibilidade multimestre). Nós os chamamos carinhosamente de “nosso molho secreto”, pois essas técnicas são altamente personalizadas e adaptadas exatamente à nossa Arquitetura Corporativa exclusiva.

No entanto, lembre-se de que essas personalizações podem ser aplicadas em Planos Enterprise, pois oferecem um cluster de servidor corporativo dedicado à sua disposição. Eles também podem ser aplicados a outros plugins LMS, caso você não esteja usando o LearnDash em sua sala de aula.

Nossa solução para o problema de pico da CPU, por outro lado, é muito mais direta: adicionar mais potência bruta da CPU. Essa é a razão pela qual não usamos provedores de computação em nuvem de uso geral, como Google Cloud ou AWS, mas construímos nossa plataforma do zero por nós mesmos. O resultado são eficiências de custo que se traduzem em recursos significativamente maiores para nossos clientes em níveis de preços semelhantes ou até mais baixos aos nossos concorrentes:

Configuração de alta disponibilidade 2N+1 em um cluster de servidor dedicado de 5 nós com balanceamento de carga com fatores de isolamento e redundância mais altos. Isso permite que seu site WordPress LearnDash seja dimensionado automaticamente durante picos de tráfego e efeitos de slashdot e seja altamente disponível e tolerante a falhas.

Estamos orgulhosos dos recursos de desempenho do LearnDash da nossa plataforma, pois alivia completamente o estresse dos proprietários de sites do LearnDash, tendo que lidar com problemas técnicos no meio de uma sessão. Mas estamos ainda mais orgulhosos porque nossa Arquitetura Corporativa suporta os sonhos e necessidades de aprendizado dos usuários do LearnDash, de todo o mundo.

Junte-se à Pressidium e transforme seu site LearnDash em um centro de e-learning de alto desempenho. Compartilhe seus desafios do LearnDash com nossos engenheiros e solicite uma cotação corporativa clicando no botão abaixo!