WordPress LearnDash용 고성능 호스팅

게시 됨: 2018-12-21

WordPress LearnDash는 틀림없이 WordPress LMS 세계에서 가장 성공적인 전자 학습 플랫폼 중 하나입니다. 코스 생성, 지불 게이트웨이 통합을 통한 수익 창출, 사용자 프로필, 그룹 및 코스 할당 관리를 위한 고급 기능을 제공합니다. 모바일에서도 작동합니다.

LearnDash는 선도적인 기업이지만 리소스를 매우 많이 사용합니다. 본질적으로 LMS(Learning Management System)와 같이 실시간 개인화된 콘텐츠를 동적으로 렌더링해야 하는 애플리케이션은 콘텐츠를 대부분 캐시 해제하고 사용자가 백엔드에 로그인해야 합니다. LearnDash는 이러한 고유한 문제에 예외가 아닙니다.

이 게시물에서는 LearnDash가 제대로 작동하는 데 필요한 CPU 성능을 맞추는 것 외에 WordPress 호스팅 제공업체가 할 수 있는 일이 많지 않은 이유와 Pressidium이 이러한 일반적인 성능 문제를 해결하는 방법을 살펴보겠습니다.

WordPress LearnDash 리소스는 얼마나 집약적입니까?

트래픽이 적거나 많은 e-러닝 사이트가 있더라도 일단 요구하기 시작하면 기술적인 문제를 겪을 것입니다. 이는 등록된 사용자 수, 코스 수, 동시 활성 사용자 수 또는 이들의 조합을 통해 이루어질 수 있습니다. 이러한 문제는 전체 하드웨어 사용률 및 제한, 데이터베이스 쓰기 문제부터 심각한 속도 저하, 심지어 코스 시간 중 중단을 경험하는 사용자에 이르기까지 다양합니다.

데이터베이스 조절 및 트랜잭션 충돌

LearnDash는 몇 가지 긴 SQL 쿼리 집합을 실행합니다. 예를 들어 20,000명과 같이 많은 수의 사용자가 있는 경우 편집할 프로필을 하나만 선택하려는 경우에도 LearnDash는 모든 사용자를 가져옵니다.

이 경우 기본 서버 클러스터링 솔루션도 거의 도움이 되지 않습니다. LearnDash에서 수행되는 거의 모든 작업은 데이터베이스를 업데이트합니다. LearnDash e-러닝 사이트를 제공하는 서버 클러스터가 과부하 상태일 때 클러스터 서버 노드는 지속적으로 데이터베이스에 쓰고 있습니다. 이로 인해 트랜잭션 충돌 이 발생할 수 있습니다.

트래픽이 많은 상황에서는 데이터베이스 테이블 잠금 또는 전체 데이터베이스 잠금이 발생하여 모든 사람에게 쓰기 액세스가 허용되지 않는 경우가 많습니다. 이것은 물론 재앙입니다.

최대 CPU 사용률

WordPress LearnDash는 본질적으로 캐싱 전략과 잘 협력하지 않는 동적 응용 프로그램입니다. 이것은 처음에 말했듯이 LearnDash의 잘못이 아니지만 HTTP 응답을 캐싱하는 것만으로는 성능을 가속화할 수 없습니다.

이것은 객관식 테스트의 중간에 로그인한 사용자가 있기 때문에 고유하게 렌더링되어야 하는 타이머 및 콘텐츠가 있고 단순히 캐시할 수 있는 것이 거의 없기 때문입니다.

따라서 거의 모든 콘텐츠가 캐시되지 않는다는 것은 테스트를 받는 각 LearnDash 사용자가 최소한 1개의 백엔드 PHP 프로세스를 생성한다는 의미입니다. 50명의 사용자가 거의 동시에 로그인하면 어떤 일이 일어날지 상상해 보십시오!

일반적으로 사용자가 원활한 LearnDash 세션을 경험하려면 전용 CPU 리소스가 필요합니다. 그러나 각 사용자가 테스트를 수행하는 동안 온라인에서 약간의 유휴 시간을 보낼 수 있으므로 CPU 요구량이 일정하지 않습니다. 제공되기를 기다리는 백엔드 PHP 프로세스의 총량이 총 CPU 풀 리소스의 배수이고 부하를 줄이기 위해 과감한 조치를 취하지 않으면(예: 일부 종료) 눈사태가 시작됩니다. 전체 서버를 잃게 됩니다.

요약하면 엔터프라이즈가 아닌 간단한 VPS 설정 및 WordPress 호스팅 계획은 기껏해야 수십 명의 로그인 사용자만 처리할 수 있습니다. 모든 사용자가 거의 동시에 어떤 작업을 수행하는 경우 최고에 도달하고 모든 것이 실패하기 시작합니다.

WordPress LearnDash용 엔터프라이즈 아키텍처

이제 LearnDash의 몇 가지 성능 문제에 대해 간략하게 설명하고 약간 당황스러운 그림을 그렸으므로 Pressidium에서 이러한 문제를 해결하는 방법과 LearnDash 커뮤니티에서 엔터프라이즈 아키텍처를 최고의 아키텍처 중 하나로 간주하는 이유를 보여드리고자 합니다. , 최고는 아니지만 LearnDash를 실행할 플랫폼.

사실, 대다수의 경쟁업체는 인프라에 대한 요구 사항에 대처할 수 없기 때문에 대규모 LMS 사이트를 권장하지 않습니다. 앞에서 언급했듯이 간단한 VPS 설정 또는 기본 클러스터링 시스템은 단순히 높은 트래픽이나 많은 양의 동시 사용자를 처리할 수 없습니다. 이것이 우리가 이러한 경우 표준 계획에서 사용을 권장하거나 권장하지 않는 이유입니다. 개발 또는 매우 작은 설정에 대한 유일한 예외입니다.

일반적으로 LearnDash를 실행하는 대규모 프로덕션 사이트에 가장 적합한 옵션으로 Pressidium Enterprise를 권장합니다. 우리는 수천 명의 동시 사용자 와 함께 Enterprise LearnDash 설치를 성공적으로 관리하고 운영합니다.

데이터베이스 제한 문제를 해결하기 위해 고가용성을 유지하면서 LearnDash를 가속화하는 특정 데이터베이스 최적화 기술을 개발했습니다(LearnDash는 불행히도 본질적으로 다중 마스터 고가용성 데이터베이스와 호환되지 않음). 이러한 기술은 당사 고유의 엔터프라이즈 아키텍처에 정확히 맞춤화되고 맞춤화되기 때문에 애정을 담아 "비밀 소스"라고 부릅니다.

그러나 이러한 사용자 지정은 마음대로 전용 엔터프라이즈 서버 클러스터를 제공하므로 엔터프라이즈 플랜 에만 적용할 수 있습니다. 교실에서 LearnDash를 사용하지 않는 경우를 대비하여 다른 LMS 플러그인에도 적용할 수 있습니다.

반면에 최대 CPU 문제에 대한 솔루션은 훨씬 더 간단합니다. 원시 CPU 마력을 추가하는 것입니다. 그렇기 때문에 구글 클라우드나 AWS 같은 범용 클라우드 컴퓨팅 제공업체를 사용하지 않고 처음부터 자체 플랫폼을 구축했습니다. 그 결과 비용 효율성이 높아져 경쟁업체와 비슷하거나 더 낮은 가격 수준으로 고객에게 훨씬 더 많은 리소스를 제공할 수 있습니다.

격리 및 이중화 요소가 더 높은 로드 밸런싱된 5노드 전용 서버 클러스터 의 2N+1 고가용성 구성. 이를 통해 WordPress LearnDash 사이트는 트래픽 급증 및 slashdot 효과 동안 자동으로 확장 되고 고가용성 및 내결함성이 있습니다.

세션 중에 기술적인 문제를 처리해야 하는 LearnDash 사이트 소유자의 스트레스를 완전히 덜어주기 때문에 우리는 플랫폼의 LearnDash 성능 기능을 자랑스럽게 생각합니다. 그러나 우리의 엔터프라이즈 아키텍처는 전 세계 LearnDash 사용자의 학습 꿈과 요구를 지원하기 때문에 더욱 자랑스럽습니다.

Pressidium에 가입하고 LearnDash 사이트를 고성능 e-러닝 센터로 전환하십시오. 아래 버튼을 클릭하여 LearnDash 과제를 엔지니어와 공유하고 기업 견적을 요청하십시오!