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.
Főbb funkciók
Szekció neve “Főbb funkciók”- 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
Telepítés
Szekció neve “Telepítés”WordPress admin felületen
Szekció neve “WordPress admin felületen”- Bővítmények > Új hozzáadása
- Keress rá: “Query Monitor”
- Kattints a Telepítés most gombra
- Aktiváld a bővítményt
WP-CLI-vel
Szekció neve “WP-CLI-vel”wp plugin install query-monitor --activateComposer-rel
Szekció neve “Composer-rel”composer require wpackagist-plugin/query-monitor --devwp plugin activate query-monitorHasználat
Szekció neve “Használat”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.
Admin Bar jelzések
Szekció neve “Admin Bar jelzések”| Jelzés | Jelentés |
|---|---|
| Zöld | Minden rendben |
| Sárga | Figyelmeztetés (lassú query-k) |
| Piros | Hiba (PHP error, kritikus lassulás) |
Adatbázis lekérdezések
Szekció neve “Adatbázis lekérdezések”Queries panel
Szekció neve “Queries panel”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
Lassú lekérdezések szűrése
Szekció neve “Lassú lekérdezések szűrése”// wp-config.php - Lassú query küszöb beállításadefine( 'QM_DB_EXPENSIVE', 0.05 ); // 50ms felett lassúDuplicate queries
Szekció neve “Duplicate queries”A Query Monitor automatikusan jelzi az ismétlődő lekérdezéseket. Ezek optimalizálása jelentős teljesítményjavulást eredményezhet.
Queries by Caller
Szekció neve “Queries by Caller”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.
Queries by Component
Szekció neve “Queries by Component”Plugin/téma szerinti csoportosítás - azonnal látod, melyik bővítmény okoz terhelést.
PHP hibák
Szekció neve “PHP hibák”Errors panel
Szekció neve “Errors panel”Minden PHP hiba megjelenik:
- Fatal errors - Piros háttér
- Warnings - Narancssárga
- Notices - Sárga
- Deprecated - Szürke
Stack trace
Szekció neve “Stack trace”Minden hibánál látod a teljes hívási láncot, így könnyen megtalálod a forrást.
Hibák szűrése
Szekció neve “Hibák szűrése”A wp-config.php-ban beállíthatod:
// Csak saját kód hibáinak megjelenítésedefine( 'QM_HIDE_CORE_WARNINGS', true );define( 'QM_HIDE_SELF', true );Hook-ok
Szekció neve “Hook-ok”Hooks panel
Szekció neve “Hooks panel”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
Hook keresése
Szekció neve “Hook keresése”Használd a keresőt egy adott hook megtalálásához:
the_contentwp_enqueue_scriptsadmin_initActions vs Filters
Szekció neve “Actions vs Filters”Külön füleken láthatod az action-öket és filter-eket.
HTTP API hívások
Szekció neve “HTTP API hívások”HTTP Requests panel
Szekció neve “HTTP Requests panel”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
Lassú API hívások
Szekció neve “Lassú API hívások”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
Szkriptek és stílusok
Szekció neve “Szkriptek és stílusok”Scripts panel
Szekció neve “Scripts panel”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
Styles panel
Szekció neve “Styles panel”CSS fájlok hasonló részletekkel.
Nem használt szkriptek
Szekció neve “Nem használt szkriptek”Keresd azokat a szkripteket, amelyek:
- Minden oldalon betöltődnek, de nem kellenek
- Duplikálva vannak
- Elavult jQuery függőségekkel rendelkeznek
Blokkok (Gutenberg)
Szekció neve “Blokkok (Gutenberg)”Blocks panel
Szekció neve “Blocks panel”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
Feltételes függvények
Szekció neve “Feltételes függvények”Conditionals panel
Szekció neve “Conditionals panel”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.
Környezet
Szekció neve “Környezet”Environment panel
Szekció neve “Environment panel”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
PHP változók
Szekció neve “PHP változók”memory_limit: 256Mmax_execution_time: 300upload_max_filesize: 64Mpost_max_size: 64MHaladó beállítások
Szekció neve “Haladó beállítások”wp-config.php opciók
Szekció neve “wp-config.php opciók”// Query Monitor engedélyezésedefine( '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ésedefine( 'QM_HIDE_CORE_WARNINGS', true );
// Symlinked plugin pathdefine( 'QM_SYMLINKED_PLUGINS_PATH', '/real/path/to/plugins' );Capabilities panel engedélyezése
Szekció neve “Capabilities panel engedélyezése”define( 'QM_ENABLE_CAPS_PANEL', true );Ez egy új panelt ad, ami az aktuális felhasználó jogosultságait mutatja.
Query Monitor Add-on-ok
Szekció neve “Query Monitor Add-on-ok”Hivatalos add-on-ok
Szekció neve “Hivatalos add-on-ok”| Add-on | Funkció |
|---|---|
| Debug Bar | Debug Bar integráció |
| Memcache | Memcached object cache monitoring |
| Redis | Redis object cache monitoring |
Harmadik féltől
Szekció neve “Harmadik féltől”| 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. Lassú lekérdezések azonosítása
Szekció neve “1. Lassú lekérdezések azonosítása”- Nyisd meg a Queries panelt
- Rendezd Time szerint csökkenő sorrendbe
- Vizsgáld meg a leglassabb query-ket
- Ellenőrizd az indexeket a táblákban
2. N+1 problémák felismerése
Szekció neve “2. N+1 problémák felismerése”Keress ismétlődő lekérdezéseket:
SELECT * FROM wp_postmeta WHERE post_id = 1SELECT * FROM wp_postmeta WHERE post_id = 2SELECT * FROM wp_postmeta WHERE post_id = 3...Megoldás: update_meta_cache() vagy egy nagy query.
3. Plugin teljesítmény elemzése
Szekció neve “3. Plugin teljesítmény elemzése”- Queries by Component nézet
- Rendezd Time szerint
- Azonosítsd a legtöbb időt használó pluginokat
- Fontold meg az alternatívákat vagy optimalizálást
4. HTTP hívások optimalizálása
Szekció neve “4. HTTP hívások optimalizálása”- HTTP Requests panel
- Keress lassú vagy felesleges hívásokat
- 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;}Frontend megjelenítés
Szekció neve “Frontend megjelenítés”Bejelentkezés nélküli használat
Szekció neve “Bejelentkezés nélküli használat”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, '/' );Admin bar elrejtése
Szekció neve “Admin bar elrejtése”Ha nem akarod az admin bar-t megjeleníteni:
add_filter( 'qm/dispatch/html', '__return_false' );REST API és AJAX
Szekció neve “REST API és AJAX”AJAX debug
Szekció neve “AJAX debug”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 debug
Szekció neve “REST API debug”REST API végpontok lekérdezéseit is elemzi:
- Nyisd meg a fejlesztői eszközöket (F12)
- Network fül
- Keresd a
X-QM-*header-öket
Biztonság
Szekció neve “Biztonság”Hozzáférés korlátozása
Szekció neve “Hozzáférés korlátozása”Alapértelmezetten csak adminisztrátorok látják a Query Monitor panelt.
// Szerkesztők is láthassákadd_filter( 'qm/capability', function() { return 'edit_posts';} );Éles oldalon
Szekció neve “Éles oldalon”// Csak development környezetben aktiválásif ( 'development' !== wp_get_environment_type() ) { add_filter( 'qm/dispatch/html', '__return_false' );}Integráció más eszközökkel
Szekció neve “Integráció más eszközökkel”Xdebug
Szekció neve “Xdebug”Query Monitor és Xdebug együtt használható mélyebb elemzéshez.
New Relic
Szekció neve “New Relic”A Query Monitor adatai exportálhatók New Relic-be egyedi instrumentációval.
Debug Bar
Szekció neve “Debug Bar”Ha Debug Bar is telepítve van, Query Monitor annak paneljeit is integrálja.