쿼리 모니터 - WordPress 성능을 쉽게 디버그하고 개선

게시 됨: 2022-05-16

이 튜토리얼에서는 Query Monitor 플러그인을 사용하여 WordPress 사이트 성능이 느린 이유를 찾는 방법을 배웁니다.

병목 현상을 찾을 때까지 플러그인을 비활성화하는 것이 일반적으로 문제가 되는 플러그인을 식별하는 가장 좋은 방법입니다.

그러나 더 효율적이고 빠른 방법이 있습니다. 이 문제를 해결하기 위해 Query Monitor를 만들었습니다. WordPress 사이트의 효율성이 향상되고 성능 문제를 디버깅할 수 있으며 사이트를 더 잘 이해할 수 있습니다.

목차

쿼리란?

'쿼리'는 데이터베이스에서 정보를 요청하는 것입니다. WordPress가 데이터베이스에서 정보를 요청할 때 쿼리를 사용하여 수행합니다.

누군가가 귀하의 웹 사이트를 방문하면 백그라운드에서 여러 쿼리가 실행됩니다. 이러한 쿼리를 추적하여 다음을 수행할 수 있습니다.

  • 웹사이트 성능에 가장 큰 영향을 미치는 플러그인 또는 테마를 결정 합니다. 각 쿼리에는 시간이 걸리며 도구에 대한 요청이 많을수록 사이트 성능에 미치는 영향이 커집니다.
  • 사용 중인 리소스를 추적하세요. 사용 중인 RAM의 양과 일부 쿼리 모니터링 도구를 사용하여 성공적으로 캐시된 정보의 양을 관찰할 수 있습니다.
  • 문제 해결 기술을 향상시키십시오. 쿼리를 추적하는 방법을 안다면 많은 어려움을 더 빨리 해결할 수 있습니다. 예를 들어 플러그인이 제대로 작동하지 않으면 쿼리가 제대로 트리거되지 않을 수 있습니다.

쿼리 모니터링을 사용하여 사이트 성능을 개선하면 가장 많은 리소스를 사용하는 플러그인 또는 테마를 식별할 수 있습니다.

쿼리 모니터란 무엇입니까?

쿼리 모니터는 WordPress 웹 사이트를 디버깅하고 성능을 평가하기 위한 무료 도구입니다. 응용 프로그램은 데이터베이스 쿼리, HTTP 요청, 후크 및 작업 등을 포함하여 서버에 대한 모든 요청을 분석합니다. 로드 시간 문제에 기여하는 플러그인, 스크립트 또는 데이터베이스 쿼리를 식별하는 것은 이 도구를 통해 수행할 수 있습니다.

쿼리 모니터 플러그인을 사용하여 웹사이트의 성능 문제가 명백한 원인 때문인지 아니면 더 복잡한 문제 때문인지 확인할 수 있습니다.

쿼리 모니터의 다른 기능?

다음은 쿼리 모니터의 몇 가지 기능입니다.

  • PHP 오류
  • 테마 오류
  • REST API
  • AJAX 호출
  • 입증
  • 개인 정보 보호 정책

이제 이러한 기능을 자세히 살펴보겠습니다.

PHP 오류

PHP 코드는 WordPress에서 요청을 생성하는 테마 또는 플러그인에 의해 생성됩니다. PHP 오류를 사용하여 오류의 원인이 되는 구성 요소와 위치를 식별할 수 있습니다.

테마 오류

테마에 의해 트리거된 모든 쿼리는 테마 기능별로 나열됩니다. 각 쿼리에 대한 테마 템플릿 이름과 계층이 표시됩니다. 또한 아직 로드되지 않은 테마 부분과 활성 테마의 이름을 강조 표시합니다.

REST API

권한이 있는 경우 쿼리 모니터를 사용하여 인증된 WordPress REST API 요청 헤더 내부에 포함된 정보를 디버그할 수 있습니다. 그러나 플러그인은 현재 PHP 오류 및 메모리 사용량만 표시합니다.

AJAX 호출

Ajax는 동적 WordPress 사이트에서 전체 웹 페이지를 로드하지 않고 실시간으로 데이터를 보내고 가져오는 데 사용됩니다. 쿼리 모니터는 이러한 요청과 함께 관련 디버깅 정보도 제공합니다. 이러한 세부 정보는 개발자가 오류를 더 쉽게 식별하는 데 도움이 됩니다.

입증

WordPress Multisite의 최고 관리자와 단일 사이트 설치 관리자는 기본적으로 로그를 볼 수 있습니다. 사용자로 로그인한 경우에도 인증 쿠키를 사용하여 로그를 볼 수 있습니다.

개인 정보 보호 정책

사용자의 개인 정보를 보장하는 WordPress Query Monitor는 데이터를 수집하거나 제3자에게 보내지 않습니다. 이 기능은 플러그인을 훨씬 더 안정적이고 신뢰할 수 있게 합니다.

쿼리 모니터의 목적은 무엇입니까?

Query Monitor를 사용하여 WordPress 쿼리 이상을 디버깅할 수 있습니다.

플러그인의 주요 이점 중 하나인 쿼리 모니터는 데이터베이스 쿼리를 디버깅하는 데 유용합니다.

또한 성능 및 일반 개발과 관련된 디버깅도 다룹니다. 쿼리 모니터에는 "즉시" 디버깅에 주로 사용된다는 주요 제한 사항이 있습니다. 데이터베이스 쿼리는 타이밍 등을 표시할 때 현재 페이지 로드에 대해서만 표시됩니다.

쿼리 모니터를 설치하는 방법은 무엇입니까?

쿼리 모니터 설치는 WordPress에서 매우 간단합니다.

  • WordPress 대시보드에 로그인
  • 왼쪽 메뉴에서 플러그인 -> 새로 추가를 클릭합니다.
  • "Query Monitor"를 검색하고 설치 및 활성화하십시오.

쿼리 모니터는 어떻게 작동합니까?

WordPress 쿼리 모니터에는 왼쪽 메뉴 또는 별도의 인터페이스에 자체 탭이 없습니다. 오히려 프론트엔드와 백엔드 모두의 WP 관리 표시줄에 표시됩니다.

처음에는 4가지 정보만 표시합니다.

  1. 페이지 생성 시간
  2. 최대 메모리 사용량
  3. SQL 쿼리에 소요된 총 시간
  4. 총 SQL 쿼리 수
쿼리 모니터

클릭하면 Query Monitor 인터페이스가 프런트엔드 및 백엔드 페이지 위에 창 오버레이로 나타납니다. 쿼리 모니터 인터페이스 및 해당 정보는 관리자 또는 최고 관리자만 볼 수 있습니다.

이제 이 탭을 자세히 살펴보겠습니다.

개요

이 탭은 관리 표시줄 요약의 추가 정보와 일부 일반 환경 데이터/정보를 표시합니다. 그것은 단순히 개요입니다.

쿼리

쿼리 탭에서는 현재 페이지에 대한 각 데이터베이스 쿼리를 검사할 수 있습니다. Query Monitor에서 가장 정보 밀도가 높은 섹션 중 하나입니다. 다음 정보가 표시됩니다.

  • 전체 형식으로 쿼리
  • 쿼리 호출자
  • 쿼리 구성 요소(코어, 테마, 플러그인에서 제공되는지 여부)
  • 행 수
  • 쿼리에 걸린 시간

사이트 속도를 늦추는 느린 로딩 쿼리를 찾는 등 다양한 용도로 사용할 수 있습니다.

쿼리 모니터는 각 확장 프로그램이 사이트에 어떤 영향을 미치는지 관찰할 수 있도록 테마 및 개별 플러그인별로 문의를 분류합니다.

여기에 비정상적으로 낮은 숫자가 표시되면 캐싱 때문일 수 있습니다.

세 가지 하위 메뉴가 있습니다.

  • 중복 쿼리

디버깅하고 간소화하는 데 도움이 되도록 중복 검색을 표시하고 "문제 발생 가능성"을 나열합니다.

  • 발신자별 쿼리

이 페이지의 모든 발신자를 볼 수 있습니다. 하나를 선택하면 발신자에 대한 쿼리 목록이 표시됩니다.

  • 구성 요소별 쿼리

WP 코어, 테마 및 특정 플러그인에서 수행한 모든 쿼리 목록을 제공합니다.

로그

로그 탭은 메시지와 변수를 기록할 수 있는 고급 탭입니다. 이는 기술 문제를 해결하거나 사이트에서 문제를 모니터링하는 데 도움이 될 수 있습니다.

로깅 변수를 구성하지 않았기 때문에 쿼리 모니터를 처음 설치할 때 이 탭은 비어 있습니다.

요청

현재 요청에 대한 쿼리 변수가 기본 요청 페이지에 표시됩니다. 세 가지 하위 메뉴가 있습니다

ㅏ. 요청 헤더

비. 응답 헤더

씨. 사용 중인 후크

관리자 화면

WordPress 관리 대시보드에서 쿼리 모니터를 활용하면 관리 탭이 나타납니다. 목록 표가 있는 관리자 패널을 볼 때 사용자 정의 필터 및 작업이 표시됩니다. 또한 get_current_screen의 현재 상태를 표시합니다.

스크립트

스크립트 탭은 틀림없이 관리 탭 다음으로 가장 유용한 성능 문제 해결 영역입니다.

이 탭에는 페이지의 대기열에 있는 모든 JavaScript와 해당 종속 항목 및 종속 항목이 표시됩니다. 특정 호스트의 스크립트나 명시적 종속성/종속성이 있는 스크립트를 식별하도록 필터링할 수도 있습니다.

스크립트가 많을수록 페이지 크기가 늘어나고 HTTP 요청이 추가되기 때문에 전체적으로 더 느린 웹사이트를 의미합니다. 이 탭은 다양한 확장의 효과를 조사하고 각 페이지에 로드되는 대기열에 있는 스크립트의 양을 줄이기 위한 전략을 식별하는 데 사용할 수 있습니다.

스타일

스타일 탭은 스크립트 탭과 유사하지만 JavaScript 대신 대기열에 있는 CSS를 표시합니다. 사이트 성능을 디버깅하기 위한 또 다른 유용한 탭입니다.

스크립트와 유사하게 페이지에 추가 스타일시트를 로드하면 사이트 로드 속도가 느려집니다.

이 정보를 사용하여 웹 사이트에 로드해야 하는 스타일시트의 수를 제한하여 파일 크기와 HTTP 요청 수를 줄일 수 있습니다.

후크 및 작업

후크 및 작업 탭에는 현재 페이지의 모든 후크 및 작업이 우선 순위와 함께 표시됩니다.

작업과 관련하여 각 작업을 확장하여 실제 파일과 연결된 코드 줄을 볼 수 있습니다. WordPress 코어, 플러그인 및 구성 요소별로 테마에서 작업을 검색할 수도 있습니다.

이 영역은 특별히 성능 지향적이지 않지만 맞춤형 개발에 유용합니다.

언어

언어 탭에는 사이트의 언어 및 텍스트 도메인과 각 확장에 대한 언어 파일이 표시됩니다.
다국어 사이트가 있거나 사이트가 전체 번역 팩 적용 범위가 없는 언어로 되어 있는 경우 이 탭이 유용할 수 있습니다.

HTTP API 호출

페이지 로드 중에 이루어진 모든 서버 측 HTTP 요청에 대한 요청 세부 정보, 시간 및 HTTP 상태 코드를 제공합니다.

"HTTP API 호출 없음"이 여러 페이지에 나타나야 합니다. 이는 사이트 성능을 방해하는 요소가 없음을 나타내기 때문에 좋은 지표입니다.

기능 점검

기능 검사는 현재 보고 있는 콘텐츠에 액세스할 수 있는 사용자 기능을 보여줍니다. 이는 다른 사용자가 다른 프런트 엔드 또는 백 엔드 자료에 액세스할 수 있는지 여부를 결정하는 데 유용할 수 있습니다.

환경

이 탭은 다음을 포함하여 사이트 환경에 대한 포괄적인 개요를 제공합니다.

  • PHP
  • 데이터 베이스
  • 워드프레스
  • 섬기는 사람

조건부

이 탭에서는 사용자 정의 개발에 유용한 현재 페이지에 적용되는 조건문을 검사할 수 있습니다.

"True" 및 "False" 조건문이 모두 있습니다.

쿼리 모니터를 사용하면 어떤 이점이 있습니까?

Query Monitor의 일부 기능은 다음과 같습니다.

  • 데이터베이스 쿼리, AJAX 호출, REST API 요청 및 리디렉션을 모두 모니터링할 수 있습니다.
  • 각 요청을 담당하는 WordPress 구성 요소를 결정합니다.
  • 각 요청을 처리하는 데 걸리는 시간과 검색하는 데이터를 확인합니다.
  • 지연된 요청, 중복 쿼리 및 기타 형태의 문제에 대한 알림이 전송됩니다.

결론

WordPress 웹 사이트에는 자체 데이터베이스가 있어야 하므로 쿼리도 처리해야 합니다. 이러한 쿼리를 면밀히 관찰하는 것은 문제를 해결하고 플러그인과 테마가 배후에서 수행하는 작업을 발견하는 훌륭한 방법입니다. 사이트가 복잡할수록 더 많은 쿼리를 처리해야 합니다.

호환성 문제를 피하기 위해 중복 쿼리를 주시하는 것이 중요합니다. 결과는 구성 요소별로 분류할 수도 있습니다. 이런 식으로 플러그인과 테마에서 만든 쿼리 수와 예상보다 오래 걸리는 시간을 추적할 수 있습니다.