Ha egy oldal lassan töltődik be, a legnehezebb kérdés általában az, hogy pontosan mi lassítja: egy bővítmény, egy rosszul megírt adatbázis-lekérdezés, egy külső szolgáltatás, amelyre az oldal vár, vagy egyszerűen elfogyott a tárhely erőforrása. A cPanel tárhelyen és a WordPress tárhelyen erre a kérdésre ad választ a CloudLinux X-Ray App eszköze.
Az X-Ray egy PHP-nyomkövető (profilozó): a megadott címre érkező kéréseknél rögzíti, hogy a PHP mennyi ideig dolgozott, és ebből mennyi jutott az egyes WordPress-bővítményekre, adatbázis-lekérdezésekre és PHP-függvényekre. Nem kell hozzá bővítményt telepítenie vagy a kódot módosítania, és nem csak WordPresshez használható: bármilyen PHP-alapú weboldalt (Joomla, Drupal, PrestaShop, Laravel, saját fejlesztés) nyomon tud követni. A bővítményenkénti bontás csak WordPress esetén érhető el.
Hol találja?
Jelentkezzen be a cPanelbe, és a Szoftver csoportban kattintson az X-Ray App ikonra.
A megnyíló PHP X-Ray oldalon látja a korábbi nyomkövetési feladatokat. Amíg nem indított egyet sem, a lista helyén a NEM TALÁLHATÓ FELADAT felirat áll.
Nyomkövetés indítása
- Kattintson a jobb felső Nyomkövetés indítása gombra.
- Az URL sorban a Domain kiválasztása listából válassza ki a domaint. A listában a cPanel-fiókjához tartozó domainek és aldomainek szerepelnek.
- Mellette a Maszk megadása mezőbe írja be, hogy a domainen belül melyik címeket kövesse a rendszer:
*a teljes webhely, minden cím;/csak a kezdőlap;termekek/*a/termekek/alatti összes oldal;*kosar*minden cím, amelyben szerepel a „kosar” szó (a?utáni paramétereket is beleértve).
A domain utáni perjelet a felület maga teszi a maszk elé. A
?pontosan egy karaktert helyettesít, a[ ]a zárójelben felsorolt karakterek egyikét (példáuloldal[1-3].php). A Hogyan használjuk a speciális karaktereket? hivatkozás példákkal mutatja be a lehetőségeket. Ugyanaz a maszk ahttp://és ahttps://címekre is érvényes. - Alapértelmezés szerint az X-Ray a megadott címekre érkező első 20 kérést rögzíti (Rögzítés időtartama: Kérés, 20). Ha ez megfelel, kattintson a Futtatás gombra.
Speciális beállítások
A Speciális beállítások jelölőnégyzet bekapcsolásával két további lehetőséget kap:
- Kliens IP: csak az erről az IPv4-címről érkező kéréseket rögzíti a rendszer. Az alapérték
*, azaz minden látogató kérését. Éles, forgalmas webhelyen érdemes a saját IP-címét megadni: így csak azok a kérések kerülnek a listába, amelyeket Ön indít a böngészőjéből, és nem rögzíti a látogatók címét és az általuk megnyitott URL-eket. A saját nyilvános IP-címét például egy „mi az IP-címem” kereséssel tudhatja meg. Ha a webhely Cloudflare vagy más proxy mögött van, a szerver más címet láthat; ha a megadott IP-címmel nem érkeznek kérések, hagyja a mezőt*értéken. - Rögzítés időtartama: a Kérés mellett megadhatja, hány kérést gyűjtsön a rendszer, az Időszak választásával pedig azt, hogy mennyi ideig (Napok, Órák, Percek). Az időszak legalább 1 perc, legfeljebb 2 nap lehet.
Egyszerre egy nyomkövetés futhat. Ha egy feladat még fut, és újat indítana, a felület a „Limit of running tasks is 1. You already have 1 running task” hibaüzenetet adja: várja meg, amíg a futó feladat befejeződik, vagy állítsa le.
A webhely megnyitása a nyomkövetés alatt
A nyomkövetés csak a valódi kéréseket rögzíti, ezért a feladat elindítása után nyissa meg a vizsgált oldalakat a böngészőben (vagy várja meg, amíg a látogatók megnyitják őket). Lassú kosár vagy pénztár esetén végezze el a lassú műveletet, lassú admin felületnél kattintson végig a lassú admin oldalakon.
Fontos: az X-Ray csak azt látja, amit a PHP futtat. Ha egy oldalt gyorsítótár szolgál ki (WordPress gyorsítótár-bővítmény, például WP Super Cache vagy W3 Total Cache, illetve a Cloudflare gyorsítótára), a PHP el sem indul, és a kérés nem jelenik meg. Ilyenkor kapcsolja ki ideiglenesen a gyorsítótárat, vagy jelentkezzen be a WordPress adminba (a legtöbb gyorsítótár a bejelentkezett felhasználóknak nem ad ki tárolt oldalt). A képeket, CSS- és JavaScript-fájlokat a webszerver közvetlenül szolgálja ki, ezért ezek sem szerepelnek a nyomkövetésben.
A nyomkövetési feladatok listája
A feladatok listájában a következőket látja:
- URL: a domain és a maszk, amelyre a feladat vonatkozik.
- Nyomkövetés állapota: Fut (alatta, hogy még hány kérés van hátra, például „5 times left”), Befejezve (összegyűlt a kért számú kérés, vagy letelt az időszak) vagy Leállítva.
- Kliens IP: a megadott IP-cím, illetve
*. - Összegyűjtött kérések: az eddig rögzített kérések száma.
- Lejár: ennyi ideig érhetők még el a feladat adatai. A szerver a feladatokat a létrehozásuktól számított 30 napig tárolja, utána törli őket.
- Műveletek: a szem ikon megnyitja a rögzített kéréseket, a négyzet ikon leállítja a futó feladatot (megerősítés: Igen, leállítani), a háromszög ikon folytatja a leállított feladatot, a kuka ikon pedig törli a feladatot és minden adatát (megerősítés: Igen, törölni).
A lista nem frissül magától: kattintson a Frissítés gombra, vagy kapcsolja be az Automatikus frissítés kapcsolót.
A rögzített kérések
A szem ikonra kattintva megnyílik a feladat Rögzített munkamenetek oldala. Felül három számot lát:
- Összesen: az összes rögzített kérés.
- Függőben: a már rögzített, de feldolgozás alatt álló kérések. Ezek néhány másodperc vagy perc múlva jelennek meg a táblázatban.
- Lassú: az 1 másodpercnél tovább tartó kérések.
A táblázat alapértelmezés szerint csak a lassú kéréseket mutatja (ezt jelzi a Lassú szűrő a kereső alatt), a leglassabbal kezdve. Ha nem volt lassú kérés, a „Nem észlelhetők lassú kérések!” felirat jelenik meg; az Összes kérés megjelenítése gombbal ilyenkor is megnézheti a gyors kéréseket. A Kérések listával a szűrőt módosíthatja, az URL keresése mezővel egy adott címre kereshet.
Egy kérés részletei
Egy sorra kattintva megnyílik a kérés részletes elemzése. A jobb felső nyilakkal a következő és az előző kérésre léphet, a Letöltés PDF-ként gombbal pedig jelentést készíthet, amelyet elküldhet a fejlesztőjének vagy ügyfélszolgálatunknak.
- Top 3 problémák: a kérés három leglassabb eleme, típussal (Module/Plugin: bővítmény, Database query: adatbázis-lekérdezés, System function: PHP-függvény). Ha csak egy táblázatot néz meg, ezt nézze.
- Legjobb szoftvermodulok/beépülő modulok végrehajtási idő szerint: a WordPress-bővítmények futási ideje. A WP Toolkittel kezelt webhelyeken a
wp-toolkitis megjelenik: ez a WP Toolkit saját, a WordPress mellé telepített modulja, a futási ideje általában elhanyagolható. - Legjobb adatbázis-lekérdezések végrehajtási idő szerint: az SQL-lekérdezések, a fájllal és sorral, ahonnan indultak (Fájl), a bővítménnyel, amelyhez tartoznak (Szoftvermodul), és azzal, hogy ugyanaz a lekérdezés hányszor futott le (Hívások).
- Egyéb rendszerfunkciók: a leglassabb PHP-függvények, szintén fájllal és sorral. A
curl_execegy külső HTTP-kérés (például egy API, egy licencszerver vagy egy frissítéskereső hívása): ennél az oldal egy másik szerver válaszára várt.
A sorok elején lévő nyílra kattintva a rövidített fájlútvonal teljes hosszában is megjelenik.
Az Időtartam (%) oszlop azt mutatja, hogy az elem a kérés teljes idejének hány százalékát vitte el; zárójelben a pontos idő áll. A százalékok átfedik egymást, ezért nem adódnak össze 100%-ra: egy bővítmény ideje magában foglalja az általa indított lekérdezések és függvények idejét is. A fenti példában egy szándékosan lassúra írt tesztbővítmény (kb-xray-teszt) a kérés 92,6%-át vitte el, ezen belül egy lassú lekérdezés 60%-ot, egy usleep hívás 27%-ot.
Mit kezdjen az eredménnyel?
- Egy bővítmény viszi el az idő nagy részét: frissítse a legújabb verzióra, nézze meg a beállításait (sok bővítmény minden oldalbetöltéskor statisztikát gyűjt, külső szolgáltatást hív vagy naplóz), és ha nincs rá szükség, kapcsolja ki. A bővítmények kezeléséről a WP Toolkit bővítménykezeléséről szóló cikk szól. Mielőtt éles oldalon kapcsolgatna, próbálja ki egy staging másolaton.
- Egy adatbázis-lekérdezés lassú: gyakran egy túlhízott tábla az oka. WordPressnél nézze meg a wp_options tábla automatikusan betöltött adatait és a wp_postmeta táblát.
- Ugyanaz a lekérdezés sokszor fut le (magas Hívások érték): ez jellemzően egy bővítmény vagy a sablon hibája, amely egy listát elemenként, külön lekérdezésekkel tölt be. Jelezze a bővítmény vagy a sablon fejlesztőjének; a PDF-jelentés ehhez jó kiindulópont.
- A
curl_execlassú: az oldal egy külső szerverre vár. Derítse ki a Fájl oszlopból, melyik bővítmény indítja a kérést; ha időtúllépés is előfordul, a cURL error 28 és 60 hibáról szóló cikk segít. - A kérést az erőforráskorlát lassította: ha egy kérés közben a fiók elérte a processzor- vagy lemezhasználati (IO) korlátját, az X-Ray ezt külön jelzi a kérésnél. Ilyenkor nem a kód a lassú, hanem a rendszer fogta vissza a kérést. Nézze meg a fiók erőforrás-használatát, és ha rendszeresen a korláton van, érdemes nagyobb csomagra váltani (lásd még: 508 Resource Limit Is Reached hiba).
- Minden kérés gyors, az oldal mégis lassú: a lassúság nem a PHP-ben van, hanem a böngészőben (nagy képek, sok JavaScript, külső betűtípusok és szkriptek). Ezt a PageSpeed Insights mutatja meg; a WordPress gyorsításáról szóló cikk és a cPanel tárhely teljesítményéről szóló cikk ad ötleteket. A WordPress lassulásának gyakori okait blogcikkünk gyűjti össze.
Jó tudni
- Az X-Ray a CloudLinux operációs rendszer része. A dedikált cPanel szervereken alapértelmezés szerint nem CloudLinux fut, ezért ott az X-Ray App nem érhető el.
- A nyomkövetés a futása alatt maga is lassít valamennyit: a CloudLinux mérései szerint 5–10%-kal nő az oldalak betöltési ideje. Ezért az X-Ray nem állandó megfigyelésre, hanem egy konkrét lassúság okának felderítésére való. A feladat a kért kérésszám vagy időszak után magától leáll, és amíg nem fut, nem használ erőforrást.
- Amíg egy feladat fut, a PHP OPcache JIT funkciója ki van kapcsolva az adott webhelyen; a feladat végeztével visszakapcsol.
- A rögzített adatok (URL-ek, IP-címek, SQL-lekérdezések) 30 napig érhetők el, utána automatikusan törlődnek. Ha korábban szeretné eltávolítani őket, törölje a feladatot.
- A felhasználói felületen nem indítható folyamatos, napi jelentést küldő nyomkövetés. Ha egy időszakosan jelentkező lassúságot hosszabb ideig kellene figyelni, írjon nekünk, és segítünk.
- Ha a hibakeresés során PHP-hibaüzenetekre is kíváncsi, kapcsolja be a WordPress hibakereső módját.





