Alojamiento de alto rendimiento para WordPress LearnDash

Publicado: 2018-12-21

WordPress LearnDash es posiblemente una de las plataformas de aprendizaje electrónico más exitosas en el mundo de WordPress LMS. Ofrece funciones avanzadas para la creación de cursos, la monetización a través de la integración de la pasarela de pago y la administración de perfiles de usuario, grupos y asignaciones de cursos. También funciona en el móvil.

Aunque LearnDash es un jugador líder, requiere muchos recursos. Por naturaleza, las aplicaciones que necesitan generar dinámicamente contenido personalizado en tiempo real, como un LMS (Sistema de gestión de aprendizaje), requerirán que el contenido no se almacene en caché y que los usuarios inicien sesión en el backend. LearnDash no es una excepción a este problema inherente.

En esta publicación, veremos por qué no hay mucho que los proveedores de alojamiento de WordPress puedan hacer, además de igualar la potencia de la CPU que se necesita para que LearnDash funcione correctamente, y cómo Pressidium aborda estos problemas generales de rendimiento.

¿Cómo consume WordPress LearnDash los recursos?

No importa si tiene un sitio de aprendizaje electrónico de poco o mucho tráfico, experimentará problemas técnicos una vez que comience a exigirlo. Esto puede ser a través de la cantidad de usuarios registrados, la cantidad de cursos, la cantidad de usuarios activos simultáneamente o cualquier combinación de estos. Estos problemas pueden variar desde la utilización total del hardware y la aceleración, problemas de escritura en la base de datos hasta usuarios que experimentan ralentizaciones graves, incluso interrupciones durante el curso.

Limitación de bases de datos y conflictos de transacciones

LearnDash ejecuta algunos conjuntos largos de consultas SQL. Por ejemplo, si tiene una gran cantidad de usuarios, digamos 20,000, LearnDash los buscará a todos, incluso si solo desea seleccionar un perfil para editar.

Las soluciones básicas de agrupación de servidores también son de poca ayuda en este caso. Casi todas las acciones realizadas en LearnDash actualizan la base de datos. Cuando el clúster de servidores que brinda servicio a su sitio de aprendizaje electrónico LearnDash tiene una gran carga, los nodos del servidor del clúster escriben constantemente en la base de datos. Esto puede conducir a conflictos de transacción .

En situaciones de alto tráfico, esto a menudo puede resultar en bloqueos de la tabla de la base de datos, o un bloqueo completo de la base de datos, lo que impide el acceso de escritura a todos. Esto, por supuesto, es desastroso.

Utilización máxima de la CPU

WordPress LearnDash por naturaleza es una aplicación dinámica que no coopera bien con las estrategias de almacenamiento en caché. Esto no es culpa de LearnDash como dijimos al principio, pero sí significa que no puede simplemente acelerar su rendimiento, simplemente almacenando en caché las respuestas HTTP.

Esto se debe a que hay usuarios que han iniciado sesión, que están en medio de pruebas de opción múltiple, con temporizadores y contenido que se debe representar de forma única para ellos, y simplemente hay muy poco que se puede almacenar en caché.

Por lo tanto, tener casi todo el contenido sin almacenar en caché significa que cada usuario de LearnDash que realiza una prueba generará al menos 1 proceso PHP de back-end. ¡Imagínese lo que sucederá si 50 usuarios inician sesión casi simultáneamente!

En general, para que un usuario experimente una sesión de LearnDash fluida, necesitará recursos de CPU dedicados. Sin embargo, la demanda de la CPU no es constante, ya que cada usuario puede pasar algún tiempo de inactividad en línea mientras realiza la prueba. Si la cantidad total de procesos backend de PHP que esperan ser atendidos es un múltiplo de los recursos totales de su grupo de CPU y no hace nada drástico para disminuir la carga (por ejemplo, apagar algunos de ellos), comenzará una avalancha y perderás todo el servidor.

En resumen, las configuraciones simples de VPS y los planes de alojamiento de WordPress que no son Enterprise solo podrán manejar unas pocas docenas de usuarios registrados en el mejor de los casos. En aquellos casos en los que todos los usuarios realizan alguna acción casi simultáneamente, llegará a un punto máximo y todo comenzará a fallar.

Arquitectura empresarial para WordPress LearnDash

Ahora que mencionamos brevemente algunos de los desafíos de rendimiento de LearnDash y pintamos una imagen un poco desconcertante, nos gustaría mostrarle cómo los abordamos en Pressidium y por qué la comunidad de LearnDash considera que nuestra arquitectura empresarial es una de las mejores. , si no la mejor, plataformas para ejecutar LearnDash.

La verdad es que la mayoría de nuestros competidores simplemente desalientan los grandes sitios LMS, ya que no pueden hacer frente a las demandas que impone a su infraestructura. Como mencionamos anteriormente, las configuraciones simples de VPS, o incluso los sistemas de agrupación en clústeres básicos, simplemente no pueden lidiar con un alto tráfico o con una gran cantidad de usuarios simultáneos. Es por esto que no recomendamos ni fomentamos su uso en nuestros planes estándar en estos casos. La única excepción es para desarrollo o configuraciones muy pequeñas.

En general, recomendamos Pressidium Enterprise como la mejor opción para grandes sitios de producción que ejecutan LearnDash. Administramos y operamos con éxito las instalaciones de Enterprise LearnDash con miles de usuarios simultáneos .

Para resolver el problema de limitación de la base de datos, hemos desarrollado ciertas técnicas de optimización de bases de datos que aceleran LearnDash mientras mantienen la alta disponibilidad (desafortunadamente, LearnDash es inherentemente incompatible con las bases de datos de alta disponibilidad multimaestro). Las llamamos cariñosamente “nuestra salsa secreta” , ya que estas técnicas están altamente personalizadas y adaptadas exactamente a nuestra arquitectura empresarial única.

Sin embargo, tenga en cuenta que estas personalizaciones solo se pueden aplicar en los planes Enterprise, ya que ofrecen un clúster de servidor empresarial dedicado a su disposición. También se pueden aplicar a otros complementos de LMS, en caso de que no esté usando LearnDash en su salón de clases.

Nuestra solución al problema de la CPU máxima, por otro lado, es mucho más sencilla: agregue más potencia bruta de CPU. Esta es la razón por la que no utilizamos proveedores de computación en la nube de uso general como Google Cloud o AWS, sino que construimos nuestra plataforma desde cero por nosotros mismos. El resultado son eficiencias de costos que se traducen en una cantidad significativamente mayor de recursos para nuestros clientes a niveles de precios similares o incluso más bajos que los de nuestros competidores:

Configuración de alta disponibilidad 2N+1 en un clúster de servidores dedicados de 5 nodos con equilibrio de carga con mayores factores de aislamiento y redundancia. Esto permite que su sitio de WordPress LearnDash se escale automáticamente durante los picos de tráfico y los efectos de slashdot, y sea altamente disponible y tolerante a fallas.

Estamos orgullosos de las capacidades de rendimiento de LearnDash de nuestra plataforma, ya que alivia por completo el estrés de los propietarios de sitios de LearnDash, que tienen que lidiar con problemas técnicos en medio de una sesión. Pero estamos aún más orgullosos porque nuestra Arquitectura Empresarial apoya los sueños y necesidades de aprendizaje de los usuarios de LearnDash, de todo el mundo.

Únase a Pressidium y transforme su sitio LearnDash en un centro de aprendizaje electrónico de alto rendimiento. ¡Comparta sus desafíos de LearnDash con nuestros ingenieros y solicite una cotización empresarial haciendo clic en el botón a continuación!