Query Monitor 플러그인 소개

개발자 혹은 사이트 제작자를 위한 플러그인을 하나 소개할까 합니다.

Query Monitor

banner-772x250
어떤 특정 페이지 혹은 관리자 화면에서 페이지 로딩시간이 눈에띄게 늘어나는 경우가 있는데요, 이 경우 원인을 파악하기란 정말 쉽지 않습니다.
 
플러그인을 하나하나 비활성화 해 가면서 원인이 되는 플러그인을 찾아 볼 수 는 있지만 어떤 부분에서 지체가 되는지를 파악하려면 아주 많은 경험에 운까지 필요하곤 하지요.
이럴 때 큰 도움이 되는 플러그인이 바로 Query Monitor 플러그인입니다.
 
페이지 로딩 타임(PHP), MySQL Query Time, 메모리 사용 등 기본 정보 이외에도 디버깅에 필요한 대부분의 정보를 한 눈에 파악할 수 있습니다.

데이터베이스 Queries

  • 현재 페이지에 호출된 모든 query
  • 영향을 받은 row들과 질의(query)에 걸린 시간
  • slow queries, 오류가 있는 query 에 대한 알림
  • 다양한 필터링 기능

Hooks

  • 현재 페이지에서 호출된 모든 후크(hooks) 정보
  • 다양한 필터링 기능

PHP 오류

  • 오류, 경고, 정보성 알림 등 PHP 오류를 정리하여 보여줌

HTTP Requests

  • 현재 페이지에서의 모든 HTTP 요청(워드프레스 HTTP API 이용)에 대한 정보와 소요시간 표시

이 외에도 서버환경, 테마, 템플릿, AJAX 등 생각할 수 있는 거의 모든 정보를 한 번에 볼 수 있도록 해 줍니다.

참고로 제가 이번에 찾은 원인은 바로 Jetpack 플러그인의 ‘alert_identity_crisis()’ 함수에서 jetpack 서버로의 호출이 매 페이지마다 발생하는 중에 가끔씩 name lookup timeout 이 걸리면서(jetpack 서버의 늦은 반응으로) 10초 가량 로딩이 지연되는 경우였습니다.

slow-loading-monitor

이 플러그인 아니었으면, 몇 시간을 그냥 날릴뻔 했는데 말이지요;-)