Skip to content

Query Monitor

WordPress teljesítmény és debug elemzés Query Monitor bővítménnyel.

This content is not available in your language yet.

A Query Monitor a legátfogóbb ingyenes debug és teljesítményelemző bővítmény WordPress-hez. Valós időben mutatja az adatbázis lekérdezéseket, hook-okat, feltételes függvényeket, HTTP kéréseket és sok mást.

  • Adatbázis lekérdezések - Minden SQL query részletei, ideje, hívója
  • PHP hibák - Notice, warning, error üzenetek
  • Hook-ok - Actions és filters listája
  • HTTP API hívások - Külső API kérések elemzése
  • Feltételes függvények - is_single(), is_admin() stb.
  • Szkriptek és stílusok - Betöltött JS/CSS fájlok
  • Blokkok - Gutenberg blokk információk
  • Környezet - PHP, MySQL, WordPress verzió adatok
  1. Bővítmények > Új hozzáadása
  2. Keress rá: “Query Monitor”
  3. Kattints a Telepítés most gombra
  4. Aktiváld a bővítményt
Terminál
wp plugin install query-monitor --activate
Terminál
composer require wpackagist-plugin/query-monitor --dev
wp plugin activate query-monitor

A Query Monitor panel az admin bar-on található. Kattints a megjelenő információkra (pl. “0.05s 12q”) a részletes panel megnyitásához.

Jelzés Jelentés
Zöld Minden rendben
Sárga Figyelmeztetés (lassú query-k)
Piros Hiba (PHP error, kritikus lassulás)

Minden SQL lekérdezés részletei:

  • Query - A teljes SQL utasítás
  • Time - Végrehajtási idő (ms)
  • Rows - Érintett sorok száma
  • Caller - Melyik függvény/fájl indította
  • Component - Plugin/téma/core
// wp-config.php - Lassú query küszöb beállítása
define( 'QM_DB_EXPENSIVE', 0.05 ); // 50ms felett lassú

A Query Monitor automatikusan jelzi az ismétlődő lekérdezéseket. Ezek optimalizálása jelentős teljesítményjavulást eredményezhet.

Csoportosított nézet a hívó függvények szerint - gyorsan megtalálod, melyik kód generálja a legtöbb lekérdezést.

Plugin/téma szerinti csoportosítás - azonnal látod, melyik bővítmény okoz terhelést.

Minden PHP hiba megjelenik:

  • Fatal errors - Piros háttér
  • Warnings - Narancssárga
  • Notices - Sárga
  • Deprecated - Szürke

Minden hibánál látod a teljes hívási láncot, így könnyen megtalálod a forrást.

A wp-config.php-ban beállíthatod:

// Csak saját kód hibáinak megjelenítése
define( 'QM_HIDE_CORE_WARNINGS', true );
define( 'QM_HIDE_SELF', true );

Az összes futtatott action és filter:

  • Hook név - pl. init, wp_head
  • Priority - Futási sorrend
  • Callback - Melyik függvény fut
  • Component - Plugin/téma

Használd a keresőt egy adott hook megtalálásához:

the_content
wp_enqueue_scripts
admin_init

Külön füleken láthatod az action-öket és filter-eket.

Minden külső HTTP kérés részletei:

  • URL - Cél URL
  • Method - GET, POST, stb.
  • Response - Válasz kód és idő
  • Caller - Ki indította

A piros jelzésű kérések jelentős késleltetést okoznak. Ezeket érdemes:

  • Cache-elni (Transients API)
  • Aszinkronná tenni (WP Cron)
  • Optimalizálni vagy eltávolítani

Minden betöltött JavaScript:

  • Handle - wp_enqueue_scripts azonosító
  • Source - Fájl URL
  • Dependencies - Függőségek
  • Dependents - Mi függ tőle
  • Size - Fájlméret

CSS fájlok hasonló részletekkel.

Keresd azokat a szkripteket, amelyek:

  • Minden oldalon betöltődnek, de nem kellenek
  • Duplikálva vannak
  • Elavult jQuery függőségekkel rendelkeznek

Block editor használatakor:

  • Block típusok - Használt blokkok listája
  • Block szám - Hány darab van belőlük
  • Render callback - Dinamikus blokkok

Az aktuális oldal jellemzői:

Függvény Érték
is_single() true/false
is_page() true/false
is_archive() true/false
is_admin() true/false
is_front_page() true/false

Hasznos téma és plugin fejlesztéskor a feltételek teszteléséhez.

Részletes rendszerinformációk:

  • PHP - Verzió, memória limit, max execution time
  • MySQL/MariaDB - Verzió, változók
  • WordPress - Verzió, debug mód, multisite
  • Server - OS, webszerver
memory_limit: 256M
max_execution_time: 300
upload_max_filesize: 64M
post_max_size: 64M
// Query Monitor engedélyezése
define( 'QM_ENABLE_CAPS_PANEL', true ); // Capabilities panel
// Lassú query küszöb (másodpercben)
define( 'QM_DB_EXPENSIVE', 0.05 );
// Hide self (QM saját query-jeit elrejti)
define( 'QM_HIDE_SELF', true );
// Core warnings elrejtése
define( 'QM_HIDE_CORE_WARNINGS', true );
// Symlinked plugin path
define( 'QM_SYMLINKED_PLUGINS_PATH', '/real/path/to/plugins' );
wp-config.php
define( 'QM_ENABLE_CAPS_PANEL', true );

Ez egy új panelt ad, ami az aktuális felhasználó jogosultságait mutatja.

Add-on Funkció
Debug Bar Debug Bar integráció
Memcache Memcached object cache monitoring
Redis Redis object cache monitoring
Add-on Funkció
Query Monitor Extend További panelek
QM CLI CLI parancsok

Teljesítmény optimalizálás Query Monitor-ral

Szekció neve “Teljesítmény optimalizálás Query Monitor-ral”
  1. Nyisd meg a Queries panelt
  2. Rendezd Time szerint csökkenő sorrendbe
  3. Vizsgáld meg a leglassabb query-ket
  4. Ellenőrizd az indexeket a táblákban

Keress ismétlődő lekérdezéseket:

SELECT * FROM wp_postmeta WHERE post_id = 1
SELECT * FROM wp_postmeta WHERE post_id = 2
SELECT * FROM wp_postmeta WHERE post_id = 3
...

Megoldás: update_meta_cache() vagy egy nagy query.

  1. Queries by Component nézet
  2. Rendezd Time szerint
  3. Azonosítsd a legtöbb időt használó pluginokat
  4. Fontold meg az alternatívákat vagy optimalizálást
  1. HTTP Requests panel
  2. Keress lassú vagy felesleges hívásokat
  3. Implementálj cache-elést:
function get_external_data() {
$cache_key = 'external_api_data';
$data = get_transient( $cache_key );
if ( false === $data ) {
$response = wp_remote_get( 'https://api.example.com/data' );
$data = wp_remote_retrieve_body( $response );
set_transient( $cache_key, $data, HOUR_IN_SECONDS );
}
return $data;
}

Az autentikációs cookie lehetővé teszi a frontend debug-ot bejelentkezés nélkül:

// Cookie beállítása (egyszer futtatva)
setcookie( 'wp-query_monitor_' . COOKIEHASH, wp_hash( 'query-monitor' ), 0, '/' );

Ha nem akarod az admin bar-t megjeleníteni:

add_filter( 'qm/dispatch/html', '__return_false' );

Query Monitor automatikusan naplózza az AJAX hívásokat. Az admin bar jelzi az AJAX kérések számát és idejét.

REST API végpontok lekérdezéseit is elemzi:

  1. Nyisd meg a fejlesztői eszközöket (F12)
  2. Network fül
  3. Keresd a X-QM-* header-öket

Alapértelmezetten csak adminisztrátorok látják a Query Monitor panelt.

// Szerkesztők is láthassák
add_filter( 'qm/capability', function() {
return 'edit_posts';
} );
// Csak development környezetben aktiválás
if ( 'development' !== wp_get_environment_type() ) {
add_filter( 'qm/dispatch/html', '__return_false' );
}

Query Monitor és Xdebug együtt használható mélyebb elemzéshez.

A Query Monitor adatai exportálhatók New Relic-be egyedi instrumentációval.

Ha Debug Bar is telepítve van, Query Monitor annak paneljeit is integrálja.

We respect your privacy

We use cookies to improve your browsing experience and to analyse traffic. Analytics only starts if you allow it. Privacy policy, Cookie policy.

Cookie settings