>백엔드 개발 >PHP 튜토리얼 >새로운 유물로 WordPress 성능 문제 진단

새로운 유물로 WordPress 성능 문제 진단

WBOY
WBOY원래의
2023-08-26 23:05:161462검색

새로운 유물로 WordPress 성능 문제 진단

이 튜토리얼은 New Relic을 사용하여 WordPress 성능을 모니터링하면서 시작한 작업을 계속합니다. 여기에서는 WordPress 성능에 대한 개념적 개요를 제공하고 New Relic을 사용하여 자신의 사이트 성능을 확인하는 방법을 안내합니다.

Varnish 및 W3 총 캐시를 사용하여 WordPress 최적화 튜토리얼을 보고 여기까지 오셨다면 이미 매우 최적화된 WordPress 기반을 갖고 계신 것입니다. 그렇지 않다면 돌아가서 기사를 검토해 보시기 바랍니다.

WordPress에서 New Relic 사용하기

WordPress는 소규모 개인 블로그와 주요 미디어 조직의 대규모 웹사이트를 지원할 수 있는 강력한 오픈 소스 블로그 시스템입니다. 그러나 실제로 WordPress를 잘 실행하고 성공적으로 비용 효율적으로 확장하려면 많은 복잡성이 필요합니다.

New Relic의 성능 모니터링 서비스는 WordPress 구성이 원활하고 효율적으로 실행되도록 하는 탁월한 방법을 제공합니다.

참고: New Relic은 해당 서비스가 가상 또는 공유 서버(예: 많은 클라우드 기반 공급자가 제공하는 서버)보다는 전용 서버에서 WordPress를 최적화하는 데 가장 적합하다고 경고합니다. 공유 호스팅에서 WordPress를 실행하는 경우 New Relic은 전용 서버에서 실행되는 웹사이트만큼 유용하지 않을 수 있습니다.

이 성능 가이드를 살펴보기 전에 New Relic에 대해 더 자세히 알아보고 싶다면 Tuts+의 서비스에 대한 다양한 기사를 참조하세요.

WordPress를 빠르게 또는 느리게 만드는 이유는 무엇인가요?

2013년에 무료 W3 Total Cache WordPress 플러그인의 창시자인 Frederick Townes는 우리가 고려해야 할 성능 측면을 설명하는 New Relic 블로그 게시물을 작성했습니다: Optimizing WordPress Performance with New Relic. 이것은 좋은 요약이며 검토하겠습니다.

Townes는 우리가 집중해야 할 핵심 영역을 강조합니다:

1. 디스크 성능. 비공유 로컬 디스크는 항상 가장 일관되고 안정적인 성능을 제공합니다. 예를 들어 SSD 드라이브나 고속 하드 드라이브가 있는 콘솔을 사용하는 것이 이상적입니다.

2. MySQL 쿼리 캐시. 쿼리 캐시는 일반적인 데이터베이스 쿼리의 결과를 저장하고 반복 실행 없이 즉시 결과를 반환할 수 있습니다. Townes는 데이터베이스 구성을 최적화하는 데 도움이 되도록 MySQLTuner를 실행할 것을 권장합니다.

3. WordPress 테마 및 플러그인에 의한 쿼리 사용. WordPress는 구성을 통해 바로 작동하지만 타사 플러그인과 테마를 추가하면 성능 문제를 일으키는 다양한 오류 코드가 발생할 수 있습니다.

4. WordPress 테마 및 플러그인의 파일 크기. 파일 크기와 파일 수(따라서 HTTP 트랜잭션)를 줄이면 사용자의 웹 사이트 경험에 큰 영향을 미칠 수 있습니다. 안타깝게도 모든 CSS(Cascading Style Sheet) 또는 JS(JavaScript)를 쉽게 통합하고 최소화할 수 있는 것은 아닙니다.

5. 최적화된 PHP, 상대적으로 느림. 더 빠른 버전의 PHP(예: HHVM)가 향후 WordPress에서 작동할 수 있지만 아직 이 작업에는 안정적이지 않다는 것을 알고 있습니다. 한편 Townes는 스크립트의 메모리 공간 줄이기, 자동 로딩 사용, 메모리 사용, 루프 방지, 실행 시간 단축, 열린 파일 수 최소화를 통해 디스크 호출 및 메모리 사용량 감소, includerequire 而不是 include_oncerequire_once 사용 등 일련의 제안을 제공합니다.

6. PHP 코드용 오픈 소스 캐싱 프레임워크인 APC와 같은 Opcode 캐싱을 사용하세요. Townes는 "APC는 코드의 해석된(실행 가능한) 버전을 메모리에 유지하므로 이에 대한 요청을 다시 해석할 필요가 없습니다."라고 말했습니다.

"WordPress의 개체 캐시는 많은 마법이 일어나는 곳입니다. WordPress는 페이지 요청을 처리할 때 다양한 개체 그룹을 생성합니다. 이러한 그룹은 다양한 목적으로 사용되며 WordPress 사용 방법에 따라 매우 중요합니다. 예를 들어 memcached 또는 APC 백엔드 저장소를 사용하여 성능 향상을 달성하기 위해 객체를 유지합니다.”
Townes의 W3 Total Cache는 페이지 캐시 수준에서 이를 구현하여 PHP가 주어진 페이지 콘텐츠의 일부를 계속 생성할 수 있도록 하며, 변경되지 않은 페이지의 더 큰 부분은 캐시되고 재생성되지 않습니다.

"W3TC에서는 여러 애플리케이션 서버에서 고속 액세스를 위해 설계된 memcached와 같은 MySQL 이외의 데이터 저장소를 선택할 수 있습니다. 따라서 각 페이지 요청은 방문자 또는 해당하는 다른 사람에 대한 정보를 얻을 필요가 없습니다. 동적 요소로 인해 MySQL은 이제 템플릿의 동적 부분에만 집중(및 조정)할 수 있습니다."
Townes는 "조각 캐싱을 사용하면 실행 시간이 대폭 단축됩니다."라고 말합니다.

7. 페이지 캐싱을 사용하세요.

일반적인 웹사이트를 확장하는 데 가장 유용한 기술은 페이지 캐싱입니다. 페이지 요청이 있을 때마다 전체 스택(WordPress, 테마, 플러그인, HTML 및 MySQL)에 액세스하는 대신 웹 캐시(보통 메모리에서)에서 정적 HTML을 검색합니다. 캐시되지 않은 WordPress 사이트의 트래픽 확장은 몇 초 안에 사이트를 종료할 수 있는 반면, 메모리 내 캐시에 미리 작성된 HTML 파일의 트래픽 확장은 엄청나게 확장됩니다.

Townes는 다음과 같이 말합니다. “역방향 프록시는 일반적으로 웹 애플리케이션과 공용 인터넷 사이에 캐시를 제공합니다. 그 목표는 뒤에 있는 웹 서버의 부하를 완화하는 것입니다. 역방향 프록시는 기본 애플리케이션에서 생성된 콘텐츠를 반환하는 데 최적화되어 있습니다. Nginx와 심지어 Apache도 역방향 프록시 기능을 제공하도록 구성할 수 있습니다.”

저는 WordPress를 확장하기 위해 Apache 및 W3 Total Cache와 함께 Varnish를 가장 자주 사용합니다. 이러한 구성에 관심이 있다면 Varnish 및 W3 Total Cache(Tuts+)를 사용하여 WordPress 최적화를 확인하세요.

8. CDN(콘텐츠 전송 네트워크)은 자주 사용되는 파일 및 미디어에 대한 클라우드 기반 캐싱 서비스입니다. Townes는 "CDN을 사용하면 웹 사이트가 어디에 호스팅되는지는 중요하지 않습니다. 방문자가 세계 다른 곳에 있는 경우 CDN은 방문자와 가까운 콘텐츠를 캐시하여 웹 사이트의 전체 페이지 로드 시간을 줄입니다."라고 말합니다.

이제 WordPress가 제대로 실행되기 위한 몇 가지 주요 개념을 이해했으므로 New Relic이 우리에게 어떻게 도움이 되는지 살펴보겠습니다.

New Relic으로 WordPress 모니터링

New Relic은 PHP를 포함한 다양한 서버 및 언어 기술로 실행되는 성능 모니터링 서비스이며 WordPress 최적화에 적합합니다.

New Relic은 전체 스택 성능 모니터링(최종 사용자 경험)을 제공하고 자세한 서버 모니터링도 제공합니다. "New Relic을 사용하면 환경에서 일어나는 일을 쉽게 전달할 수 있습니다."라고 Townes는 말했습니다.

서버에서 New Relic을 실행하면 응답 시간, Apdex 점수(만족스러운 응답 시간과 불만족스러운 응답 시간의 비율), 분당 처리량(요청)을 포함하여 서버와 PHP에 대한 자세한 성능 모니터링 차트와 통계를 얻을 수 있습니다. ), 타사 API 요청, 오류율, 최근 이벤트 및 서버 정보와 같은 네트워크 트랜잭션입니다.

한 단계 더 나아가 New Relic Browser는 초기 페이지 로드를 훨씬 뛰어 넘는 전체 페이지 수명 주기 데이터를 모니터링합니다. 최종 사용자 페이지가 로드될 때마다 New Relic Browser는 다음을 캡처합니다.

새로운 유물로 WordPress 성능 문제 진단

프런트엔드(브라우저)에 소요된 시간

브라우저에서 실행되는 코드 및 이벤트(JavaScript, Ajax 및 최종 사용자 상호 작용)
  • 백엔드(웹 및 웹 앱)에 소요된 시간
  • 지리적 유래
  • 브라우저 유형과 버전 및 운영 체제
  • 전 세계 모든 사용자에 대한 데이터를 볼 수 있으며 페이지, 브라우저, 사용자 세션 및 위치별로 데이터의 조각과 주사위를 볼 수 있습니다.

New Relic Browser(Tuts+)를 사용한 프런트엔드 모니터링에서 New Relic Browser를 더욱 완벽하게 다룹니다.

New Relic Synthetics를 사용하면 전 세계 어디에서나 웹사이트를 정기적으로 테스트하여 문제가 발생하면 즉시 알릴 수 있습니다. 다가오는 튜토리얼에서 Synthetics를 다룰 예정이므로 Tuts+ Instructor 페이지를 방문하여 언제 출시되는지 확인하세요.

W3 Total Cache와 함께 New Relic 사용

New Relic(Tuts+)으로 WordPress 성능 모니터링 튜토리얼에서 W3 Total Cache New Relic 서비스 통합의 등록 및 설치 프로세스를 설명합니다.

새로운 유물로 WordPress 성능 문제 진단

WordPress 관리 콘솔에서

성능 > 모니터링

을 클릭하세요. 무료 계정을 등록하려면 클릭하세요. API 및 라이센스 키 세부 정보를 아래 W3 Total Cache 설정 패널에 복사하세요.

서버에서 New Relic을 활성화하는 것은 아래와 같이 W3TC 대시보드에서 모니터링할 수 있습니다:

새로운 유물로 WordPress 성능 문제 진단

자세한 내용은 뉴렐릭 홈페이지를 방문하여 계정에 로그인하시면 보실 수 있습니다.

새로운 유물로 WordPress 성능 문제 진단WordPress 성능 모니터링

서버 성능 평가

높은 수준에서 New Relic Server 모니터링은 CPU 사용량, 메모리 사용량, 디스크 및 네트워크 I/O에 대한 개요는 물론 하드웨어 및 가장 활동적인 프로세스에 대한 정보를 제공합니다. 이를 통해 구성에 무슨 일이 일어나고 있는지에 대한 조감도를 제공하고 주요 문제에 대해 경고합니다.

새로운 유물로 WordPress 성능 문제 진단New Relic Servers Dashboard 새로운 유물로 WordPress 성능 문제 진단프로세스 탭에는 각 프로세스의 메모리 및 CPU 사용률이 표시됩니다.

새로운 유물로 WordPress 성능 문제 진단

웹사이트 성능에 위험 신호를 나타내는 경고 기록도 볼 수 있습니다.

새로운 유물로 WordPress 성능 문제 진단

WordPress 성능 평가

New Relic에는 WordPress 성능을 평가하는 세 가지 주요 방법이 있습니다.

1. Apdex. New Relic은 Apdex Ratings를 사용하여 업계 표준 측정과 비교하여 최종 사용자에 대한 Wordpress 애플리케이션의 성능을 평가하는 데 도움을 줍니다. 이를 통해 문제 해결을 위한 더 나은 데이터를 제공하고 좌절하거나 만족하는 사용자의 비율을 더 명확하게 이해할 수 있습니다. Apdex 등급은 또한 사건 발생 후 몇 시간이 지나야 알림을 받을 수도 있는 일반적인 "느린 사이트" 불만 사항보다 더 구체적인 상황을 제공합니다. Apdex는 또한 실제 사용자가 성능 개선에 대해 어떻게 느끼는지 측정할 수 있는 보다 객관적인 방법을 제공합니다.

2. MySQL 성능. Wordpress 플러그인과 테마는 mySQL 데이터베이스를 남용할 수 있습니다. New Relic의 Slow SQL을 보면 문제의 원인을 찾을 수 있습니다. 예를 들어 wp_terms에서 카테고리 및 태그를 선택하는 데 전체 데이터베이스 시간의 최대 20%가 소요될 수 있습니다. 또는 인덱스를 적절하게 배치하거나 쿼리를 구체화하면 느린 INSERT 문이 개선될 수 있다는 것을 알 수 있습니다.

3. 타사 플러그인 및 API의 성능을 모니터링합니다. WordPress에서 소셜 미디어 플러그인, 모니터링 플러그인 및 기타 멋진 위젯을 사용하는 것은 매우 쉽지만 이러한 타사 종속성이 블로그나 블로그 마케팅 웹사이트에 어떤 영향을 미치는지는 명확하지 않을 수 있습니다. New Relic을 사용하면 보다 포괄적인 보기를 위해 외부 서비스 호출을 "집계"할 수 있으며 New Relic에서 캡처한 모든 웹 트랜잭션 내에서 이러한 제3자의 응답 시간을 모니터링할 수도 있습니다.

New Relic의 브라우저를 사용하여 WordPress 성능을 더 자세히 연구할 수 있습니다. 성능에 부정적인 영향을 미칠 수 있는 테마 및 플러그인의 코드를 구체적으로 찾아보고 싶을 것입니다.

대시보드는 Apdex 및 처리량별로 분류된 페이지 로드 시간에 대한 개요를 제공합니다.

새로운 유물로 WordPress 성능 문제 진단

다음은 지난 24시간 동안의 Apdex 점수를 확대한 보기입니다.

새로운 유물로 WordPress 성능 문제 진단

페이지 조회수별로 실적을 볼 수도 있습니다.

새로운 유물로 WordPress 성능 문제 진단

드릴다운하면 웹사이트에서 로드한 개별 파일의 성능을 확인할 수 있습니다. 의심스러운 시간이 걸리는 테마나 플러그인 파일을 찾아야 합니다.

새로운 유물로 WordPress 성능 문제 진단

새로운 유물로 WordPress 성능 문제 진단

MySQL 분석

New Relic Server Monitoring은 MySQL 쿼리의 성능도 추적할 수 있습니다.

새로운 유물로 WordPress 성능 문제 진단

드릴다운하여 자세한 내용을 확인할 수 있습니다.

새로운 유물로 WordPress 성능 문제 진단

가장 느린 쿼리를 진단하세요.

새로운 유물로 WordPress 성능 문제 진단

이는 잘못된 플러그인 코드로 인해 생성된 느린 쿼리를 식별하는 데 특히 유용합니다.

세션 추적

세션 추적을 사용하면 사용자 상호 작용, 리소스 로딩, iframe, Ajax 호출을 기다리는 데 소요된 시간, 오류 등을 포함하여 웹 페이지의 전체 수명 주기를 이해하고 실제 사용자의 실제 경험을 처음부터 끝까지 추적할 수 있습니다.

추적은 문제를 식별할 뿐만 아니라 오류 발생 전후에 사용자가 수행한 작업도 보여줍니다.

새로운 유물로 WordPress 성능 문제 진단

아래는 세션에 대한 자세한 심층 분석입니다. 이는 테마와 플러그인의 코드 성능을 평가하는 데 도움이 됩니다.

새로운 유물로 WordPress 성능 문제 진단

세션 추적을 통해 이해하는 데 도움이 됩니다.

  • DOM 로드 시간, Ajax 요청 완료 대기 시간, 페이지와의 사용자 상호 작용 등 사용자가 페이지 로드를 경험하는 방식
  • JavaScript 및 브라우저 이벤트의 순서(다른 이벤트보다 시간이 오래 걸림) 및 각 이벤트가 발생하는 시점

  • 병목 현상이 발생하는 위치와 원인은 무엇입니까
  • 세션 중 개별 이벤트에 대한 컨텍스트를 제공하여 한 페이지가 다른 페이지보다 느리게 로드될 수 있는 이유

언제든지 특정 사용자의 브라우저에서 무슨 일이 일어나고 있는지 정확하게 확인할 수 있습니다. 세션 추적을 통해 사용자 세션의 모든 이벤트를 자세하고 직관적으로 시각화할 수 있으므로 문제 영역을 정확히 찾아내고 솔루션을 쉽게 식별할 수 있습니다. 세션 추적 사용에 대해 자세히 알아보세요.

Ajax 및 JavaScript

Ajax 페이지를 사용하면 해당 페이지의 대화형 호출에서 무슨 일이 일어나고 있는지 확인할 수 있으므로 호출에 시간이 걸리거나 실패할 때 사용자 경험 문제를 식별하는 데 도움이 됩니다.

새로운 유물로 WordPress 성능 문제 진단

New Relic 브라우저는 Ajax 데이터를 자동으로 기록하지 않습니다. New Relic 설정 영역에서 각 애플리케이션에 대해 이 기능을 켜야 합니다. Ajax 대시보드에 대해 자세히 알아보세요.

브라우저 JavaScript 오류 대시보드를 사용하면 시간이 지남에 따라 실시간 프로덕션 JavaScript에서 어떤 브라우저에서 어떤 오류가 발생하는지 빠르게 확인할 수 있습니다. 각 오류가 발생한 횟수와 오류가 발생한 고유 페이지 로드 수를 기준으로 오류를 조사할 수 있습니다.

이를 통해 사이트의 실제 사용자 경험에 영향을 미치는 버그를 식별할 수 있습니다. 이는 자체 테스트나 테스트벤치에서 제외했을 수 있는 브라우저에 나타나지 않는 JavaScript 버그에 대해 알아볼 수 있는 특히 강력한 방법입니다.

새로운 유물로 WordPress 성능 문제 진단

미래를 바라봅니다

자체 호스팅 WordPress에는 높은 수준의 기술이 필요합니다. 원하지 않는다면 관리형 호스팅이 더 나은 선택입니다. 이들 중 다수는 내부적으로 New Relic을 사용하여 Page.ly와 같은 웹사이트를 최적화합니다.

New Relic을 탐구하는 데는 시간이 걸리지만 결과는 그만한 가치가 있습니다. 이 도구를 사용하면 WordPress 스택 내부를 살펴보고 해결해야 할 문제 영역을 빠르게 식별할 수 있습니다.

자체 호스팅하는 경우 New Relic의 서비스는 WordPress 스택, 테마 및 플러그인과 함께 자신의 호스팅 환경에 대해 배우고 성능 괴물을 길들일 수 있는 믿을 수 없을 정도로 강력한 방법을 제공합니다.

롤아웃 프로세스 중(그리고 개발 프로세스 중에 자체 테마와 플러그인을 구축하는 경우) 확실히 New Relic을 사용하여 사이트를 더 깊이 이해하고 싶을 것입니다.

New Relic Lite를 영원히 사용할 수 있지만, 2주간의 평가판 사용이 끝난 후에는 동일한 서비스 수준을 유지하려면 Pro 요금제($149/월)로 업그레이드해야 할 수도 있습니다. New Relic Browser, Synthetics 및 Insight는 모두 자체 가격 구조를 가지고 있습니다. 자세한 내용을 알아보려면 New Relic 웹사이트를 방문하세요.

궁금한 점이나 수정할 점은 댓글로 남겨주세요. 향후 Tuts+ 튜토리얼 및 기타 시리즈를 계속해서 팔로우하려면 강사 페이지를 방문하거나 @reifman을 팔로우하세요.

관련 링크

  • New Relic(Tuts+)으로 WordPress 성능 모니터링
  • Varnish 및 W3 총 캐시(Tuts+)로 WordPress 최적화
  • 프런트엔드 모니터링을 위해 새로운 Relic 브라우저를 사용하세요(Tuts+)
  • W3 Total Cache 파트너 페이지에서 NewRelic에 가입하세요
  • New Relic으로 WordPress 성능 최적화

위 내용은 새로운 유물로 WordPress 성능 문제 진단의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.