대규모 WordPress 사이트의 성능을 개선하는 방법

게시 됨: 2023-02-24

더 큰 규모의 WordPress 사이트를 운영하고 있다면 사용자 경험과 검색 엔진 순위에 영향을 미칠 수 있는 성능 문제에 직면할 수 있습니다. 다행히 사이트의 속도와 성능을 개선하기 위해 취할 수 있는 몇 가지 단계가 있습니다. 이 문서에서는 대규모 WordPress 사이트의 가장 일반적인 성능 문제 중 일부를 다루고 이를 해결하기 위한 팁과 솔루션을 제공합니다.

성장통… 누군가는 그것을 가질 수 있어서 정말 운이 좋을 것입니다!

너무 빨리 성장하여 귀하 또는 귀하의 고객에게 온갖 종류의 고통과 문제를 일으키는 WordPress 사이트를 관리하는 방법에 대해 이야기합시다.

문제가 일시적인 경우(예: 입소문이 난 게시물에서 예기치 않은 트래픽 급증을 처리하는 경우(우리가 경험해야 할 또 다른 일), 트래픽이 급증할 때 WordPress 사이트를 확장하는 방법을 알면 이 문제를 해결할 수 있습니다.

그러나 문제가 계속되면 두통을 없애기 위해 아침에 의사에게 전화를 걸어 아스피린 두 개 이상이 필요할 수 있습니다.

이 문서에서는 다음 내용을 다룹니다.

  • WordPress 엔터프라이즈 개발 과제
  • 대규모 WordPress 사이트의 일반적인 성능 문제
    • 워드프레스 데이터베이스
    • WordPress 코어, 테마 및 플러그인
    • 사이트 콘텐츠
    • 호스팅

WordPress 엔터프라이즈 개발 과제

Q: WordPress 사이트를 얼마나 복잡하게 만들 수 있습니까?

A: 매우.

크고 복잡한 사이트를 구축할 때 WordPress의 처리 능력은 문제가 되지 않습니다. WordPress 엔터프라이즈 개발자이자 글로벌 SME 비즈니스 고문인 Mario Peshev는 WordPress를 사용하여 크고 복잡한 사이트를 구축하는 방법에 대한 훌륭한 기사에서 다음과 같이 말합니다.

"WordPress는 수백만 명의 사용자와 한 달에 수십 또는 심지어 1억 뷰를 처리하는 다양한 애플리케이션을 처리하는 검증된 CMS입니다."

마리오도 말했듯이…

"10M에서 50M으로 확장하는 것이 가능하고, 50M에서 100M은 도전적이며, 100M-200M은 상당히 복잡하고 200M+는 상당한 엔지니어링 노력이 필요할 수 있습니다."

따라서 크고 복잡한 사이트를 처리하는 워드프레스 CMS 플랫폼의 용량은 문제가 되지 않습니다.

문제는 WordPress 엔터프라이즈 개발 과제를 처리할 수 있는 기술을 갖추는 것입니다.

대부분의 개발자가 알고 있듯이 WordPress는 유연성, 사용 용이성 및 경제성으로 널리 알려진 콘텐츠 관리 시스템일 뿐만 아니라 웹 존재를 빠르고 쉽게 구축하려는 중소기업 및 신생 기업을 위한 훌륭한 플랫폼이기도 합니다.

그러나 엔터프라이즈급 WordPress 개발의 경우 사용 가능한 정보의 양은 코드 편집기에서 적어도 한 번은 큰 소리로 저주하지 않은 개발자만큼 부족합니다.

따라서 대규모 WordPress 사이트를 다루는 문제와 문제를 진단하기 전에 WordPress 엔터프라이즈 개발에 대한 관련 정보를 찾는 몇 가지 문제를 살펴보겠습니다.

다음은 Mario Peshev가 그의 기사에서 언급한 요점을 요약한 것입니다.

Enterprise-Grade WordPress 개발에 대한 정보 부족

엔터프라이즈급 WordPress 개발에 대한 정보가 부족한 주된 이유 중 하나는 소수의 에이전시만이 WordPress 플랫폼, 애플리케이션, 플러그인 구축 또는 기업용 마이그레이션 및 통합 수행을 전문으로 하기 때문입니다.

대부분의 공급업체는 소규모 비즈니스 웹사이트에 프로필을 작성하고 서비스 제공업체 중 일부만이 기업과 협력합니다.

게다가 이러한 컨설턴트와 대행사는 종종 튜토리얼을 작성하고 업계와 노하우를 공유할 시간과 리소스가 없거나 신경 쓰지 않습니다.

WordPress 엔터프라이즈 개발에 대한 정보가 제한되는 또 다른 이유는 WordPress가 기업에서 처음부터 사용하는 핵심 애플리케이션이 아닌 경우가 많기 때문입니다. 뒤에서 실행되는 메인 플랫폼의 1%로서 프런트 엔드 인터페이스에서 작업하는 것과 같이 많은 사람들에게 또 다른 장애물입니다.

그러나 엔터프라이즈 프로젝트에 입찰하려는 WordPress 개발자는 전문성을 향상시키기 위해 여러 영역에 집중할 수 있습니다.

전문성 강화를 위한 다양한 분야 집중

WordPress 개발자가 집중해야 하는 첫 번째 영역은 WordPress Core, API 및 주변 생태계를 심층적으로 연구하는 것입니다. 이를 통해 개발자는 플랫폼과 작동 방식을 더 깊이 이해할 수 있습니다.

또한 WordPress 코딩 표준 및 모범 사례에 익숙한지 확인해야 합니다. 이렇게 하면 작성하는 코드를 유지 관리할 수 있고 쉽게 읽을 수 있습니다.

WordPress 개발자가 집중해야 할 두 번째 영역은 성능, 보안, 확장성 및 이전 버전과의 호환성과 같이 기업이 관심을 갖는 주요 기술 영역에서 실습하는 것입니다.

기업은 높은 기대치를 가지고 있으며 요구 사항을 충족할 수 있는 전문성을 보유하고 있음을 입증하는 것이 중요합니다.

이러한 WordPress 개발 리소스는 다음과 같은 귀중한 기술과 전문 지식을 얻는 데 도움이 됩니다.

  • WordPress 초보자부터 WordPress Pro까지: 200개 이상의 경력 향상 리소스
  • WordPress 사용자를 개발자로 전환하는 과정

현장의 전략적 플레이어

호스팅 공급업체는 현장의 전략적 플레이어이며 때때로 대규모 애플리케이션을 사용합니다. 개발자는 리소스를 검색하고 블로그, 기술 자료 문서 등을 팔로우할 수 있습니다. WordPress는 HTML, CSS, JavaScript를 통해 제공되는 프런트 엔드인 PHP 및 SQL 위에 구축된 플랫폼입니다. Linux 서버의 MySQL 데이터베이스에 연결된 mod_php 또는 php-fpm을 사용하여 Apache 또는 Nginx와 같은 웹 서버에서 실행됩니다.

기업을 위한 대부분의 어려운 작업은 이러한 레이어 위에서 발생합니다. 따라서 해당 주제를 강조하는 자체 커뮤니티 및 리소스에 대해 더 깊이 파고드는 것이 좋습니다.

WordPress 핵심 기여자 및 직원 팔로우

WordPress Core 기여자, 엔터프라이즈 급 회사의 직원 및 기업과 협력하는 주요 기관의 블로그를 팔로우하는 것은 항상 도움이 됩니다. 관련 사례 연구, 고객과의 인터뷰 또는 더 발전하는 데 도움이 될 수 있는 기타 최고의 엔지니어를 찾을 수 있습니다.

크고 복잡한 WordPress 사이트를 처리하고 기업의 기대치를 충족하는 전문 지식을 습득하는 첫 번째 과제를 살펴보았으므로 이제 대규모 WordPress 사이트에서 작업할 때 경험할 수 있는 일반적인 성능 문제를 해결하는 방법으로 넘어가겠습니다.

대규모 WordPress 사이트의 일반적인 성능 문제

WordPress는 Intel, Pepsi Cola, PlayStation, American Express, TechCrunch, Fisher-Price, Beyonce, Justin Timberlake, Usain Bolt 등과 같이 세계에서 가장 크고 잘 알려진 회사, 유명인 및 브랜드에서 사용됩니다. 더.

누군가는 이 큰 사이트를 돌봐야 합니다... 당신은 왜 안되나요?

WPMU DEV의 회원 포럼(웹 개발자를 위한 정보의 보고)을 탐색하는 동안 WPMU DEV 회원 Charly Leetham의 이 게시물을 발견했습니다. 아래에서 전체 내용을 재현하고 있습니다.

***

나는 그들의 고객에 대한 도움을 요청하는 장기 고객으로부터 연락을 받았습니다.

최종 고객은 WordPress에서 다소 큰 웹사이트를 설정하고 있으며 사이트를 계속 실행하는 데 어려움이 없었습니다. 너무 나빠서 Amazon EC2 인스턴스를 정기적으로(정기적으로 하루에 여러 번) 재부팅해야 했습니다.

떨림으로 나는 살펴보고 내가 도울 수 있는지 알아보기로 동의했습니다. 내가 찾은 것은 나를… 슬프게 했습니다. 클라이언트의 경우 대부분.

사이트:

  • 데이터베이스: 4기가바이트(최적화 후)
  • 게시물 / 페이지 및 기타 콘텐츠: 900,000개 이상의 항목.

이것은 작은 사이트가 아닙니다.

Elementor에 내장되어 있어 처음에는 저를 걱정하게 만들었습니다. Elementor는 자원이 부족하다는 것을 알고 있기 때문입니다.

EC2 인스턴스는 140Gig 스토리지와 32Gig 메모리로 프로비저닝되었습니다. 충분하지 않습니까? 그렇게 생각할 것입니다.

비즈니스는 성능을 향상시킬 것이라고 약속한 컨설턴트에 의해 EC2로 이전되었습니다. 그런 다음 인스턴스가 계속 중단된 이유는 생성되고 있는 과도 현상이 많기 때문이라고 말했습니다.

그들은 거의 개선되지 않고 매시간 과도 현상을 삭제하는 cron 작업을 만들었습니다.

조사 중에 여러 가지를 발견했지만 가장 우려되는 세 가지는 다음과 같습니다.

1. 서버에 32G의 메모리가 제공되었지만. PHP는 2G로 제한되었고 WordPress는 4천만으로 제한되었습니다.

그들이 어려움을 겪고 있는 것도 당연합니다.

이러한 제한을 늘리면 중단이 중지되지만 여전히 메모리 오버플로가 발생합니다.

2. 데이터베이스가 동일한 서버에서 프로비저닝되었습니다.

데이터베이스를 RDS(원격 데이터베이스 서버)로 분할하면 성능이 더 향상됩니다.

3. 최적화 또는 성능 개선 작업이 수행되지 않았습니다.

Hummingbird를 구현함으로써 저는 사이트의 로드 시간을 개선할 수 있었고 이는 정말 어려운 작업을 수행하지 않고도 가능했습니다. 아직 오지 않았습니다.

여기에서 다른 사람들에게 강조하고 싶은 중요한 점은 클라이언트와 작업할 때 테이블에 가져오는 점진적인 지식이라는 것입니다.

예, 사람들은 자신의 WordPress 사이트를 구축할 수 있지만 실제로 흥얼거릴 수 있는 사람은 거의 없습니다. 경험과 많은 작업이 필요합니다.

***

Charly의 포럼 게시물은 대규모 WordPress 사이트에서 작업할 때 예상할 수 있는 몇 가지 일반적인 성능 문제의 좋은 예이며 이러한 문제를 처리하는 데 유용한 통찰력을 제공합니다.

이러한 문제를 해결하기 위해 Charly가 이 고객의 사이트를 볼 때 설명한 주요 기술 문제를 먼저 요약해 보겠습니다.

  1. 최종 고객은 소규모 사이트가 아닌 최적화 후 90만 개 이상의 항목과 4GB 데이터베이스가 포함된 다소 큰 웹사이트를 WordPress에 설정하고 있습니다.
  2. 웹 사이트는 리소스가 부족하고 많은 서버 리소스가 필요한 Elementor로 구축되었습니다.
  3. EC2 인스턴스는 140GB 스토리지와 32GB 메모리로 프로비저닝되었지만 PHP는 2GB로, WordPress는 40MB로 제한되어 성능 문제와 메모리 오버플로가 발생했습니다.
  4. 데이터베이스가 동일한 서버에 프로비저닝되어 성능 문제가 발생했습니다. 이를 원격 데이터베이스 서버로 분할하면 성능이 향상됩니다.
  5. 최적화 또는 성능 개선 작업이 수행되지 않았습니다. Hummingbird를 구현함으로써 Charly는 사이트의 로드 시간을 개선할 수 있었습니다.
  6. 숙련된 웹 개발자가 제공하는 점진적인 지식과 경험은 WordPress 사이트의 성능을 최적화하고 개선하는 데 매우 중요합니다. 이 사이트는 복잡할 수 있으며 원활하게 실행하려면 많은 작업이 필요합니다.

우리는 이미 6번 항목을 다루었으므로 위 목록의 다른 문제를 살펴보겠습니다.

대규모 WordPress 사이트 성능 문제 #1 – WordPress 데이터베이스

WordPress 사이트가 커짐에 따라 데이터베이스 크기도 커집니다. WordPress 데이터베이스가 상당히 커질 수 있으며 몇 가지 문제가 발생할 수 있습니다.

대규모 WordPress 데이터베이스를 관리하는 것은 어려운 작업일 수 있으므로 대규모 사이트에서 WordPress 데이터베이스를 관리하기 위한 몇 가지 문제, 모범 사례, 전략 및 솔루션을 살펴보겠습니다.

대규모 WordPress 데이터베이스를 보유하는 데 따르는 문제는 다음과 같습니다.

  • 느린 페이지 로드 시간 : 데이터베이스가 크면 웹 사이트 속도가 느려져 방문자가 페이지를 빠르게 로드하기 어려울 수 있습니다.
  • 백업 및 복원 문제 : 대용량 데이터베이스를 백업하고 복원하는 것은 어려울 수 있으며 프로세스를 완료하는 데 시간이 오래 걸릴 수 있습니다.
  • 데이터베이스 손상 : 큰 데이터베이스는 데이터 손실 및 기타 문제를 일으킬 수 있는 손상에 더 취약할 수 있습니다.
  • 데이터베이스 유지 관리의 어려움 : 대규모 데이터베이스를 유지 관리하려면 원활한 운영을 위해 더 많은 리소스와 전문 지식이 필요할 수 있습니다.

다음은 대규모 사이트에서 WordPress 데이터베이스를 관리하는 몇 가지 전략 및 모범 사례입니다.

초기 구성

데이터베이스 관리에 대해 생각하기 전에 데이터베이스가 올바르게 설정되었는지 확인하는 것이 중요합니다. WordPress를 설치하면 새로운 데이터베이스가 생성됩니다. 그러나 대규모 사이트를 실행 중인 경우 별도의 데이터베이스 서버를 사용하는 것이 좋습니다. 이것은 성능을 향상시키고 웹 서버의 로드를 줄이는 데 도움이 됩니다.

데이터베이스를 구성할 때 올바른 설정을 선택하는 것이 중요합니다. 특히 데이터베이스 문자 집합과 데이터 정렬에 주의를 기울여야 합니다. 이러한 설정은 콘텐츠가 사이트에 표시되는 방식에 영향을 미칠 수 있으므로 처음부터 올바르게 설정하는 것이 중요합니다.

데이터베이스를 보관할 위치

대규모 WordPress 사이트를 관리할 때 데이터베이스를 보관할 위치를 신중하게 생각해야 합니다.

고려해야 할 몇 가지 옵션이 있습니다.

  • 로컬 데이터베이스 : 웹사이트와 동일한 서버에 데이터베이스를 보관할 수 있습니다. 이것은 가장 간단하고 가장 일반적인 옵션이지만 위의 클라이언트 예에서 Charly가 언급한 것처럼 사이트가 커짐에 따라 성능 문제가 발생할 수 있습니다.
  • 원격 데이터베이스 : 자체 네트워크 또는 클라우드 내에서 별도의 서버에 데이터베이스를 보관할 수 있습니다. 이렇게 하면 성능이 향상될 수 있지만 비용도 증가할 수 있습니다.
  • 관리형 데이터베이스 : Amazon RDS 또는 Google Cloud SQL과 같은 관리형 데이터베이스 서비스를 사용할 수 있습니다. 자신의 데이터베이스를 관리할 전문 지식이 없는 경우 좋은 옵션이 될 수 있습니다.

레코드 수가 많은 데이터베이스 액세스 시간

WordPress 사이트가 커짐에 따라 데이터베이스 크기가 사이트 로드 속도에 영향을 줄 수 있습니다.

데이터베이스에 많은 수의 레코드가 있는 경우 쿼리를 실행하는 데 시간이 오래 걸리므로 사이트 속도가 느려질 수 있습니다.

캐싱은 자주 액세스하는 데이터를 메모리에 저장하여 사이트의 데이터베이스 및 PHP에 액세스할 필요성을 줄여 웹 사이트 속도를 높이는 데 도움이 될 수 있습니다. 물론 이것은 사용되는 캐싱의 종류에 따라 다릅니다. 예를 들어 데이터베이스 캐싱 (객체 캐싱 포함) 또는 페이지 캐싱 (웹 페이지의 캐시가 저장되고 나중에 처리할 필요 없이 특정 페이지가 요청될 때 표시됩니다. PHP와 MySQL에 의해).

성능을 향상시키기 위해 서버 측 캐싱, 서버 측 캐싱 솔루션을 관리하는 캐싱 플러그인 또는 독립 실행형 캐싱 플러그인을 사용할 수 있습니다. 예를 들어 성능 최적화 플러그인인 Hummingbird에는 자체 캐싱이 있지만 WPMU DEV의 서버측 캐싱과도 통합됩니다.

캐싱은 특히 대규모 사이트의 경우 사이트 성능에 상당한 영향을 미칠 수 있습니다. 그러나 캐싱 설정 및 관리는 복잡하고 시간이 많이 소요될 수 있습니다.

또한 캐싱이 특정 요구 사항에 맞게 최적화되도록 사이트 성능을 정기적으로 모니터링하는 것이 중요합니다.

캐싱 솔루션에 대해 자세히 알아보려면 WordPress 캐싱에 대한 최종 가이드를 확인하십시오.

또 다른 옵션은 데이터베이스를 더 작은 조각으로 분할하는 "샤딩"이라는 기술을 사용하는 것입니다. 이는 여러 서버에 부하를 분산시켜 성능을 향상시키는 데 도움이 될 수 있습니다.

데이터를 분할하는 기술

샤딩과 같은 기술을 사용하는 경우 데이터 분할 방법을 결정해야 합니다. 한 가지 옵션은 범주 또는 태그별로 데이터를 분할하는 것입니다. 예를 들어 기술 관련 게시물용 데이터베이스 하나와 엔터테인먼트 관련 게시물용 데이터베이스 하나를 가질 수 있습니다.

또 다른 옵션은 데이터를 날짜별로 분할하는 것입니다. 자주 변경되지 않는 오래된 콘텐츠가 많은 경우 특히 유용할 수 있습니다. 작년 게시물에 대한 데이터베이스 하나와 이전 게시물에 대한 데이터베이스 하나를 가질 수 있습니다.

HyperDB와 같은 플러그인 사용도 고려하십시오. HyperDB는 WordPress의 모회사인 Automattic에서 관리합니다.

플러그인 페이지에 설명된 대로…

HyperDB를 사용하면 임의의 데이터베이스에 테이블을 배치할 수 있습니다. 주어진 쿼리에 대해 적절한 데이터베이스를 계산하기 위해 작성하는 콜백을 사용할 수 있습니다. 따라서 자신의 체계에 따라 사이트의 데이터를 분할하고 그에 따라 HyperDB를 구성할 수 있습니다.

기본 인덱싱

데이터베이스를 인덱싱하면 데이터 검색 속도가 빨라져 성능이 향상될 수 있습니다. 인덱스를 생성하면 데이터베이스는 특정 값을 더 쉽게 검색할 수 있는 데이터 구조를 생성합니다.

인덱스를 만들려면 MySQL 명령줄이나 phpMyAdmin과 같은 도구를 사용해야 합니다.

색인을 생성할 때 색인을 생성할 올바른 열을 선택하는 것이 중요합니다. 일반적으로 쿼리에서 자주 사용되는 열을 인덱싱하려고 합니다.

Index WP MySQL for Speed와 같은 플러그인을 사용할 수도 있습니다. 이 플러그인은 MySQL 테이블에 데이터베이스 키(인덱스라고도 함)를 추가하여 WordPress가 필요한 정보를 더 쉽게 찾을 수 있도록 합니다. 플러그인 페이지에는 관계형 데이터베이스 관리 시스템의 데이터베이스 인덱싱에 대한 훌륭한 정보도 포함되어 있습니다.

확인할 설정 및 로그

데이터베이스를 원활하게 실행하기 위해 계속 주시해야 할 몇 가지 설정과 로그가 있습니다. 여기에는 다음이 포함됩니다.

  • MySQL slow query log : 일정 시간 이상 걸리는 쿼리를 기록하는 로그이다. 이 로그를 분석하면 성능 문제를 일으키는 쿼리를 식별할 수 있습니다.
  • MySQL 오류 로그 : 이 로그는 MySQL 서버에서 발생하는 모든 오류를 기록합니다. 이 로그를 모니터링하면 데이터베이스에 영향을 미칠 수 있는 문제를 식별하고 해결할 수 있습니다.
  • WordPress 디버그 로그 : 이 로그는 WordPress 내에서 발생하는 모든 오류 또는 경고를 기록합니다. 이 로그를 모니터링하면 WordPress 설치 또는 플러그인의 문제를 식별할 수 있습니다.
  • 데이터베이스 백업 : 데이터베이스를 정기적으로 백업하는 것은 서버 충돌이나 기타 재난 발생 시 데이터 손실을 방지하고 문제 발생 시 신속하게 웹 사이트를 복원할 수 있도록 하는 데 중요합니다. Snapshot과 같은 플러그인을 사용하여 이 프로세스를 자동화할 수 있습니다. 또는 WPMU DEV로 호스팅하는 경우 자동 엔터프라이즈 데이터베이스 백업이 매일 또는 매시간 수행되도록 구성할 수 있습니다. 또한 서버가 충돌하면 백업이 손실될 수 있으므로 사이트를 호스팅하는 서버와 별도로 모든 백업을 저장하는 것이 좋습니다.

기타 진행 중인 유지보수

위의 작업 외에도 데이터베이스를 원활하게 실행하기 위해 수행해야 할 몇 가지 다른 유지 관리 작업이 있습니다.

여기에는 다음이 포함됩니다.

  • 데이터베이스 정리 : 시간이 지남에 따라 데이터베이스는 사용하지 않는 데이터로 복잡해질 수 있습니다. 자세한 내용은 데이터베이스를 정리하고 불필요한 데이터를 제거하는 방법에 대한 기사를 확인하십시오.
  • 데이터베이스 테이블 최적화 : 데이터베이스 크기를 줄이고 데이터베이스 테이블을 최적화하면 사이트 성능을 향상시키는 데 도움이 됩니다. 게시물 개정, 휴지통 항목, 스팸 댓글, 사용하지 않는 플러그인 및 테마와 같은 불필요한 데이터를 제거하여 데이터베이스를 최적화할 수 있습니다. 이를 수행하는 데 도움이 되는 자세한 지침과 플러그인은 전체 WordPress 데이터베이스 최적화 가이드를 확인하세요.
  • 사이트의 보안 문제 모니터링 : 대규모 사이트는 종종 해커의 표적이 됩니다. Defender와 같은 플러그인을 사용하여 사이트에서 보안 문제를 모니터링하고 공격을 방지할 수 있습니다.

데이터베이스 정리 측면에서 Charly는 사이트 성능에 영향을 미칠 수 있는 문제로 많은 수의 과도 현상을 언급합니다. 이 문제를 해결하는 것이 Charly의 클라이언트 사례에서 거의 개선되지 않는 것처럼 보였지만 사이트에 문제가 있는지 확인하기 위해 여기에서 언급할 가치가 있습니다.

Transient는 특정 기간 동안 데이터베이스에 데이터를 저장하는 캐시 유형입니다. 페이지가 로드될 때마다 쿼리를 실행할 필요가 없도록 API 요청과 같이 복잡하거나 시간이 많이 걸리는 쿼리의 결과를 저장하여 웹 사이트의 로드 시간을 단축하는 데 사용됩니다.

과도기에는 만료 시간이 설정되어 있으며 그 후에는 데이터베이스에서 자동으로 삭제됩니다. 그러나 웹 사이트가 제대로 최적화되지 않은 경우 과도 현상이 데이터베이스에 누적되어 느린 페이지 로딩 시간 또는 데이터베이스 충돌과 같은 성능 문제가 발생할 수 있습니다.

WordPress를 최적화하고 일시적인 문제를 방지하기 위해 취할 수 있는 몇 가지 단계가 있습니다. 여기에는 다음이 포함됩니다.

  • 캐싱 플러그인 사용 : Hummingbird와 같은 캐싱 플러그인은 데이터베이스 쿼리 수를 줄이고 불필요한 과도 생성을 방지하는 데 도움이 될 수 있습니다.
  • 만료된 임시 항목 삭제 : 만료된 임시 항목은 데이터베이스에 누적될 수 있으므로 정기적으로 삭제하여 데이터베이스를 최적화하는 것이 중요합니다. 이 작업은 수동으로 수행하거나 Hummingbird와 같은 플러그인을 사용하여 수행할 수 있습니다.
  • 임시 항목의 최대 수명 설정 : 임시 항목의 최대 수명을 설정하면 임시 항목이 데이터베이스에 너무 오래 저장되어 성능 문제가 발생하는 것을 방지할 수 있습니다. 이는 워드프레스에서 set_transient() 함수를 사용하여 수행할 수 있습니다.
  • 원격 데이터베이스 사용 : 원격 서버에 데이터베이스를 저장하면 서버의 부하를 줄이고 일시적인 문제를 방지할 수 있습니다.
  • 메모리 제한 늘리기 : PHP 및 WordPress의 메모리 제한을 늘리면 과도 상태로 인한 메모리 오버플로 및 성능 문제를 방지할 수 있습니다.

작업 중인 WordPress 사이트의 크기에 관계없이 WPMU DEV의 Hummingbird 캐싱 및 사이트 최적화 플러그인을 사용하면 만료된 임시 항목을 자동으로 처리하고 이 문제를 제거하여 페이지 로딩 시간을 단축하고 사용자 경험을 원활하게 할 수 있습니다.

Hummingbird: 데이터베이스 정리 및 과도 옵션이 강조 표시된 고급 도구 화면입니다.
WordPress 데이터베이스에서 만료된 일시적 항목을 자동으로 삭제하도록 Hummingbird를 구성할 수 있습니다.

PHP의 메모리 제한을 늘리는 측면에서 WPMU DEV 회원인 경우 현재 PHP 메모리 제한 및 최대 파일 크기 업로드 설정을 포함하여 WordPress 사이트에 대한 모든 정보를 확인하는 것이 정말 쉽습니다.

WordPress 대시보드에 로그인하고 WPMU DEV 대시보드 플러그인 메뉴로 이동하십시오. 지원 > 시스템 정보 > PHP 탭을 선택합니다.

WPMU DEV 대시보드 플러그인 - 지원 탭.
WPMU DEV의 대시보드 플러그인을 사용하면 WordPress 사이트에 대한 정보를 쉽게 확인할 수 있습니다.

WPMU DEV 회원이 아닌 경우에도 이 정보를 수동으로 확인할 수 있습니다.

php 메모리가 얼마나 할당되었는지 확인하려면 php를 만들고 다음을 추가하십시오.

<?php
phpinfo();
?>

php-test.php 와 같은 이름을 지정하고 서버에 업로드합니다.

브라우저에서 파일에 액세스하고 memory_limit 검색합니다. 이렇게 하면 로컬 사이트 설정과 서버 기본값의 두 가지 설정이 제공됩니다. 사이트별로 php memory_limits 다를 수 있습니다.

예를 들어 WordPress 메모리의 경우 다음과 같이 표시될 수 있습니다.

define('WP_MEMORY_LIMIT', '64M');

이 항목이 wp-config.php 파일에 없으면 사이트가 40M에서 64M 사이에서 작동하는 것일 수 있습니다.

위의 내용 외에도 WordPress에서 손상되거나 손상된 파일 및 데이터베이스를 스캔하고 수정하십시오.

보시다시피 WordPress 데이터베이스의 성능을 향상시키기 위해 할 수 있는 일이 상당히 많습니다.

다음으로 넘어가자…

대규모 WordPress 사이트 성능 문제 #2 – WordPress 코어, 테마 및 플러그인

Charly는 클라이언트 사이트에서 발생한 성능 문제의 또 다른 가능한 이유는 리소스를 많이 사용하는 테마를 사용했기 때문이라고 언급합니다.

특정 테마에 초점을 맞추기보다는 테마와 플러그인 전반에 대해 살펴보겠습니다. , Astra 및 기타 페이지 빌더.)

수행할 수 있는 작업은 다음과 같습니다.

테마 및 플러그인 팽창 – 테마 및 플러그인은 특히 정기적으로 최적화되거나 업데이트되지 않는 경우 WordPress 사이트의 성능에 상당한 영향을 미칠 수 있습니다. 일부 테마와 플러그인은 코딩이 잘못되어 로딩 시간이 느려지고 사이트가 팽창할 수 있습니다.

해결 방법: 개발자가 정기적으로 업데이트하는 가볍고 최적화된 테마를 선택해야 합니다. 너무 많은 플러그인을 사용하지 말고 불필요한 플러그인을 제거하여 사이트 팽창을 줄이십시오. 최적의 성능을 보장하려면 테마와 플러그인을 항상 최신 상태로 유지하세요.

  • 잘못 코딩된 테마 및 플러그인은 로딩 시간 저하, 사이트 팽창 및 충돌을 유발할 수 있으므로 피하십시오.
  • 개발자가 정기적으로 업데이트하는 가볍고 최적화된 테마와 플러그인을 선택하십시오.
  • 서버 로그를 확인하여 사이트 속도를 저하시킬 수 있는 무거운 플러그인과 테마를 식별하십시오.
  • 최적의 성능을 보장하려면 테마와 플러그인을 항상 최신 상태로 유지하세요.
  • 불필요하고 필수적이지 않은 플러그인과 테마를 비활성화하고 제거합니다.

모든 WordPress 사이트와 마찬가지로 크기에 관계없이 클라이언트 사이트를 최적화하는 것도 매우 중요합니다.

Google PageSpeed ​​Insights 및 GTmetrix를 포함하여 사이트를 스캔하고 사이트 성능을 측정하는 데 사용할 수 있는 여러 가지 도구가 있습니다. 이러한 도구는 사이트를 최적화하는 방법에 대한 중요한 통찰력을 제공합니다.

또한 Query Monitor와 같은 개발자 도구 플러그인을 사용하여 문제를 식별하고, 데이터베이스 쿼리, PHP 오류, 후크 및 작업, 블록 편집기 블록, 대기열에 추가된 스크립트 및 스타일시트, HTTP API 호출의 디버깅을 지원할 수 있습니다. 플러그인은 또한 Ajax 호출 디버깅, REST API 호출 및 사용자 기능 확인과 같은 고급 기능을 제공합니다.

쿼리 모니터 - WordPress 플러그인
쿼리 모니터를 사용하여 WordPress 사이트에서 성능이 저하된 플러그인, 테마 또는 기능을 빠르게 식별합니다.

체크아웃할 것을 권장하는 추가 기사 및 자습서에는 WordPress 속도 향상에 대한 가이드, 잊혀진 WordPress 페이지 속도 문제에 대한 솔루션, WordPress 문제 해결 가이드 및 대규모 WordPress 사이트를 실행할 때 실수를 조정하는 Mario Peshev의 기사가 포함됩니다.

대규모 WordPress 사이트 성능 문제 #3 – 사이트 콘텐츠

대규모 WordPress 사이트에는 일반적으로 많은 콘텐츠가 있습니다. 예를 들어 Charly의 경우 고객의 웹사이트에는 900,000개가 넘는 항목이 있었습니다.

데이터베이스를 최적화했는데도 여전히 문제가 발생하는 경우 확인할 수 있는 몇 가지 사항은 다음과 같습니다.

  • 콘텐츠 감사 수행 : 콘텐츠 감사는 본질적으로 기존 콘텐츠의 인벤토리를 수행하고 콘텐츠로 무엇을 할 것인지(예: 업데이트, SEO 최적화, 폐기)를 결정하기 전에 오래되었거나 사용되지 않거나 중복된 콘텐츠를 평가하고 식별하는 것입니다. 이는 사이트의 콘텐츠를 관리 및 유지 관리하기 위한 장기적이지만 효과적이고 중요한 전략입니다.
  • 지연 로딩 사용: 지연 로딩은 미디어 파일이 필요할 때만 로드되도록 하여 페이지 로드 시간을 크게 개선할 수 있습니다.
  • 콘텐츠 전송 네트워크(CDN) 사용 : 콘텐츠 전송 네트워크(CDN)를 사용하여 캐시된 미디어 파일을 배포하고 서버의 로드를 줄이는 것을 고려하십시오. CDN은 웹 사이트의 콘텐츠를 전 세계에 있는 서버에 캐싱하여 서버의 로드를 줄여 웹 사이트 속도를 높이는 데 도움이 될 수 있습니다. 인기 있는 CDN에는 Cloudflare 및 MaxCDN이 포함됩니다. 모든 WPMU DEV 멤버십 및 호스팅 계획에는 CDN이 포함됩니다. Hummingbird 및 Smush 플러그인에는 CDN도 포함되어 있습니다(Hummingbird는 Cloudflare 통합도 제공합니다).
  • 콘텐츠 최적화 플러그인 사용 : 이미지, 비디오 및 기타 미디어 파일을 압축하고 파일 크기를 줄여 최적화합니다. 사이트에 많은 이미지가 포함되어 있는 경우 Smush와 같은 이미지 최적화 플러그인을 사용하는 것이 좋습니다. 이 플러그인은 이미지 품질을 저하시키지 않으면서 이미지 파일 크기를 크게 줄여 콘텐츠 전달 성능을 향상시킵니다. Smush에는 WPMU DEV의 CDN도 포함됩니다.
  • 관리형 WordPress 호스팅 서비스 사용 : 관리형 WordPress 호스팅 서비스는 최적화된 서버 및 데이터베이스 관리 도구를 제공하여 웹사이트를 원활하게 운영하는 데 도움이 됩니다. 아래의 다음 섹션에서 설명하는 것처럼 WPMU DEV는 동급 최고의 관리형 WordPress 호스팅 서비스를 제공할 뿐만 아니라 모든 종류와 규모의 WordPress 사이트에 엔터프라이즈급 호스팅을 제공하도록 특별히 구성되었습니다.

대규모 WordPress 사이트 성능 문제 #4 – 호스팅

WordPress 데이터베이스 관련 문제를 해결하고 사이트의 핵심, 플러그인, 테마 및 콘텐츠를 최적화한 후에도 사이트에 여전히 문제가 있는 경우 웹 호스팅과 관련된 문제일 수 있습니다.

WordPress 전문 회사에서 관리형 WordPress 호스팅 서비스를 사용해 보세요.

평판이 좋은 호스트에서 호스팅한다는 것은 서버 최적화 및 데이터베이스 관리와 같은 영역을 처리할 숙련된 팀에게 사이트를 맡기는 것뿐만 아니라 기존 웹 사이트를 서버로 마이그레이션하는 것을 의미합니다.

대규모 WordPress 사이트에는 의심할 여지 없이 많은 이동 부분과 활성 트래픽 및 트랜잭션 이벤트가 발생하고 마이그레이션 프로세스 중에 중요한 데이터를 잃거나 손상되는 것을 원하지 않기 때문에 이것은 매우 중요합니다.

대규모 WordPress 사이트에 대한 추가 호스팅 고려 사항에는 충분한 리소스, 가동 시간, 속도 및 고객 지원으로 수요를 처리하는 기능이 포함됩니다.

WPMU DEV는 엔터프라이즈급 호스팅, 연중무휴 전문가 호스팅 및 WordPress 지원, 사이트의 잠재적인 문제 해결을 포함하여 모든 것을 처리할 전문가 팀의 마이그레이션을 제공합니다.

또한 WPMU DEV는 거의 완벽한 등급 점수를 가진 주요 관리형 WordPress 호스팅 회사 중 하나로 많은 사용자로부터 독립적으로 평가되고 검토되었습니다. 예를 들어 G2.com은 WPMU DEV를 전체적으로 별 5개 중 4.8개, 지원 품질에 대해 10개 중 9.8개로 평가합니다.

더 중요하고 실질적인 수준에서 우리 전문가 팀은 플러그인, 테마 또는 WordPress 코어의 오류에 대한 "PHP 오류 로그"와 느린 로딩 스크립트(예: 스크립트가 실행되는 데 30초를 초과하는 플러그인), 액세스 로그(DDoS 공격이 있는지 또는 일반적으로 높은 방문자 수를 확인하기 위해), CPU, RAM 등을 포함한 서버 리소스에 대한 로드.

팀은 또한 WAF가 활성화되어 있는지, 캐싱이 켜져 있는지, 사용하지 않는 프로파일링 소프트웨어가 필요하지 않을 때 꺼져 있는지 확인하고 플러그인 및 테마에 대한 충돌 테스트를 수행하고 필요할 때 mysql 수준에서 쿼리 모니터링 스캔을 실행합니다.

또한 New Relic 및 Blackfire와의 통합을 제공하여 크고 작은 모든 사이트에 대한 사이트 및 해당 페이지를 프로파일링합니다.

더 큰 WordPress 사이트를 관리하는 것은 큰 일입니다

대규모 WordPress 사이트는 대부분 관리의 규모와 복잡성이 다른 WordPress 사이트와 다릅니다.

크고 복잡한 WordPress 사이트의 성능 문제를 처리하려면 문제를 처리하고 기업 고객의 높은 기대치를 충족할 수 있는 기술과 전문 지식이 필요합니다.

WordPress 엔터프라이즈 개발에 대한 정보를 찾는 것은 어려울 수 있지만 WordPress Core, API 및 주변 생태계 연구, 주요 기술 영역에서 실습, 주요 기관 추적과 같은 다양한 영역에 집중하면 더 많은 지식과 자신감을 가질 수 있습니다. 개발자로서의 능력.

또한 대규모 WordPress 데이터베이스를 관리하는 것은 어려울 수 있지만 이를 관리하는 데 도움이 되는 솔루션이 있습니다. 데이터베이스를 최적화하고, 캐싱 및 CDN 서비스를 사용하고, 관리되는 WordPress 호스팅 서비스를 사용하고, 데이터베이스를 정기적으로 백업하면 웹 사이트가 원활하게 실행되고 잠재적인 문제를 피할 수 있습니다.

일반적인 성능 문제를 해결하고 사이트의 성능을 정기적으로 모니터링하여 발생하는 모든 문제를 식별하고 해결함으로써 더 큰 WordPress 사이트의 성능을 크게 향상시킬 수 있습니다.

마지막으로 WPMU DEV와 같은 경험이 풍부하고 신뢰할 수 있는 WordPress 호스팅 파트너와 함께 엔터프라이즈급 서버에서 사이트를 호스팅하면 대규모 사이트의 성능이 향상될 뿐만 아니라 사이트가 전문적으로 관리되고 24시간 모니터링되므로 문제를 제거하는 데 도움이 됩니다. 7.

다른 호스트에서 기존 사이트를 마이그레이션하거나 대규모 WordPress 사이트용 호스팅을 업그레이드하려는 경우 엔터프라이즈급 호스팅 계획(3개의 필수 및 3개의 프리미엄 옵션)을 살펴보고 호스팅 구매 및 무료 전문가 사이트 이전 서비스.

***

찰리 리단에게 물어보세요

이 게시물에 기여한 WPMU DEV 회원 Charly Leethan 에게 특별히 감사드립니다. AskCharlyLeethan은 소기업이 프로세스를 정의 및 개선하고 현재 및 새로운 기술을 사용하여 웹 존재를 계획하고 구축할 수 있도록 지속적인 지원과 조언을 제공합니다.

Do you manage a large or complex WordPress site? What challenges have you experienced? Share your comments below.