Wordpress

Hogyan diagnosztizálható a magas Admin-Ajax használat a WordPress webhelyén

Az Ajax egy JavaScript-alapú webes technológia, amely segít dinamikus és interaktív webhelyek létrehozásában. A WordPress az Ajaxot használja a rendszergazdai terület számos alapvető funkciójának működtetésére, például a bejegyzések automatikus mentésére, a felhasználói munkamenet-kezelésre és az értesítésekre.

Alapértelmezés szerint a WordPress az összes Ajax-hívást a admin-ajax.php a webhelyen található fájl /wp-admin könyvtárban.

Számos egyidejű Ajax-kérés magashoz vezethet admin-ajax.php használat, ami jelentősen lelassítja a szervert és a webhelyet. Ez az egyik leggyakoribb probléma, amellyel sok optimalizálatlan WordPress-webhely szembesül. Általában lassú webhelyként vagy HTTP 5xx-hibaként (leginkább 504-es vagy 502-es hibaként) nyilvánul meg.

Ebből a cikkből megismerheti a WordPress-t. admin-ajax.php fájl, hogyan működik, előnyei és hátrányai, és hogyan diagnosztizálhatja és javíthatja a magas admin-ajax.php használati probléma.

Indulásra kész? Guruljunk ki!

Mi az admin-ajx.php fájl?

A admin-ajax.php fájl tartalmazza az összes kódot az Ajax-kérelmek WordPress-en történő továbbításához. Elsődleges célja a kliens és a szerver közötti kapcsolat létrehozása Ajax segítségével. A WordPress segítségével frissíti az oldal tartalmát anélkül, hogy újra be kellene töltenie, így dinamikussá és interaktívvá teszi az oldalt a felhasználók számára.

Alapvető áttekintés az Admin Ajax működéséről a WordPressen
Alapvető áttekintés az Admin Ajax működéséről a WordPressen

Mivel a WordPress magja már az Ajaxot használja a különböző háttérfunkcióinak működtetésére, ugyanazokat a funkciókat használhatja az Ajax használatához a WordPressen. Mindössze annyit kell tennie, hogy regisztrál egy műveletet, és irányítja azt a webhelyére admin-ajax.php fájlt, és határozza meg, hogyan szeretné visszaadni az értéket. Beállíthatja, hogy HTML-t, JSON-t vagy akár XML-t adjon vissza.

admin-ajax.php fájl a WordPressben
admin-ajax.php fájl a WordPressben

A WordPress Trac szerint a admin-ajax.php A fájl először a WordPress 2.1-ben jelent meg. Úgy is emlegetik Ajax Admin a WordPress fejlesztői közösségben.

 

Az Ajax használatának ellenőrzése a Saját oldalonBehmaster műszerfal
Az Ajax használatának ellenőrzése a Saját oldalonBehmaster műszerfal

A fenti táblázat csak a mennyiséget mutatja admin-ajax.php kéréseket, nem azt, hogy honnan származhatnak. Ez egy nagyszerű módja annak, hogy megnézze, mikor jelentkeznek a tüskék. Kombinálhatja más, ebben a bejegyzésben említett technikákkal, hogy szűkítse az elsődleges okot.

Az admin-ajax.php kérések számának ellenőrzése a Chrome DevToolsban
Az admin-ajax.php kérések számának ellenőrzése a Chrome DevToolsban

A Chrome DevTools segítségével azt is megtekintheti, hogy hány kérést küldenek a rendszernek admin-ajax.php. Azt is nézd meg a időzítések fül alatt Hálózat szakaszt, hogy megtudja, mennyi időbe telik ezeknek a kéréseknek a feldolgozása.

Ami a pontos ok megtalálását illeti a magas mögött admin-ajax.php használatának, elsősorban két fő oka van: az egyik a frontend, a másik pedig a háttér. Az alábbiakban mindkettőt megvitatjuk.

Az Ajax a WordPress számos kulcsfontosságú funkcióját támogatja, de ha túl sok kérés érkezik, az jelentősen lelassíthatja webhelyét. 😱 Itt megtudhatja, hogyan javíthatja ki ezt a problémát és optimalizálhatja az Ajax használatát 👇Kattintson Tweet

A magas admin-ajax.php használat hibakeresése a WordPress rendszeren

A harmadik féltől származó beépülő modulok az egyik leggyakoribb ok a magas admin-ajax.php használat mögött. Ez a probléma általában a webhely kezelőfelületén látható, és gyakran megjelenik a sebességteszt-jelentésekben.

De nem a bővítmények az egyedüli bűnösök, mivel a témák, a WordPress mag, a webszerver és egy DDoS támadás is lehet az oka a magas Admin Ajax használatnak.

Vizsgáljuk meg őket részletesebben.

Hogyan állapítható meg a bővítmények és témák magas admin-ajax.php használatának eredete

Ajax-alapú bővítmények a WordPress.org tárolójában
Ajax-alapú bővítmények a WordPress.org tárolójában

Az Ajaxot gyakran használják a WordPress fejlesztői dinamikus és interaktív bővítmények és témák létrehozására. Néhány népszerű példa az olyan funkciók hozzáadása, mint az élő keresés, a termékszűrők, a végtelen görgetés, a dinamikus bevásárlókosár és a csevegődoboz.

Csak azért, mert egy beépülő modul Ajaxot használ, nem jelenti azt, hogy lelassítja a webhelyet.

admin-ajax.php kérés a WebPageTest jelentésben
Az admin-ajax.php kérés megtekintése a WebPageTest jelentésben

Általában az Admin Ajax az oldalbetöltés vége felé töltődik be. Ezenkívül beállíthatja, hogy az Ajax kérések aszinkron módon töltődjenek be, így ennek alig vagy egyáltalán nincs hatása az oldal észlelt teljesítményére a felhasználó számára.

Amint az a fenti WebPageTest jelentésben látható, admin-ajax.php a kérési sor vége felé töltődik be, de még így is 780 ms-ot vesz igénybe. Ez sok idő egyetlen kérésre.

A GTmetrix jelentése komoly admin-ajax.php használati kiugrásra utal
A GTmetrix jelentése komoly admin-ajax.php használati kiugrásra utal

Ha a fejlesztők nem implementálják megfelelően az Ajaxot a WordPress-en, az drasztikus teljesítményproblémákhoz vezethet. A fenti GTmetrix jelentés tökéletes példa egy ilyen viselkedésre.

Használhatja a GTmetrixet is az egyes bejegyzések és válaszok adatainak ásására. Ezzel a funkcióval pontosan meghatározhatja, mi okozza a problémát.

Ehhez lépjen a GTmetrix jelentésébe Vízesés fület, majd keresse meg és kattintson rá POST admin-ajax.php tétel. Három lapot fog látni ehhez a kéréshez: Fejlécek, Bejegyzés és Válasz.

POST admin-ajax.php kérés fejléc adatai
POST admin-ajax.php kérés fejléc adatai

A kérés ellenőrzése állás és a Válasz lapok tippeket adnak a teljesítményprobléma mögött meghúzódó okok kiderítésére. Ennél a webhelynél a Válasz lapon láthat nyomokat.

POST admin-ajax.php kérés válaszadatai
POST admin-ajax.php kérés válaszadatai

Látható, hogy a válasz egy részének valami köze van a „fusion-form-nonce-656” azonosítójú bemeneti címkéhez.

Ennek a nyomnak a gyors keresése elvezeti Önt a ThemeFusion webhelyére, az Avada téma alkotóira. Ebből arra következtethet, hogy a kérés a témától vagy a hozzá tartozó bármely bővítménytől származik.

Ilyen esetben először meg kell győződnie arról, hogy az Avada téma és az összes kapcsolódó beépülő modul teljesen frissítve van. Ha ez nem oldja meg a problémát, próbálja meg letiltani a témát, és ellenőrizze, hogy ez megoldja-e a problémát.

A beépülő modulok letiltásával ellentétben a témák letiltása a legtöbb esetben nem kivitelezhető. Ezért próbálja meg optimalizálni a témát a szűk keresztmetszetek eltávolítása érdekében. Felveheti a kapcsolatot a téma támogatási csapatával is, hátha tud jobb megoldást javasolni.

Egy másik lassú webhely tesztelése a GTmetrixben hasonló problémákhoz vezetett a Visual Composer oldalkészítővel és az értesítési sáv bővítményeivel.

Egy másik POST admin-ajax.php kérés válaszadatai
Egy másik POST admin-ajax.php kérés válaszadatai
POST admin-ajax.php kérés közzétételi adatai
POST admin-ajax.php kérés közzétételi adatai

Szerencsére, ha nem tud megoldani egy problémát a beépülő modullal, akkor leginkább szeretne számos alternatív bővítményt kipróbálni. Például, ha az oldalkészítőkről van szó, kipróbálhatja a Beaver Buildert vagy az Elementort is.

Hogyan állapítható meg a magas szintű admin-ajax.php eredete

Előfordulhat, hogy a sebességteszt-jelentésekben bemutatott küldési és válaszadatok nem olyan egyértelműek és egyértelműek. Itt megtalálni a magas eredetét admin-ajax.php használata nem olyan egyszerű. Ilyen esetekben mindig megteheti a régi iskolát.

Tiltsa le webhelye összes beépülő modulját, ürítse ki a gyorsítótárat (ha van ilyen), majd futtassa újra a sebességtesztet. Ha admin-ajax.php még mindig jelen van, akkor a legvalószínűbb bűnös a téma. De ha sehol nem található, akkor egyesével aktiválnia kell az egyes bővítményeket, és minden alkalommal le kell futtatnia a sebességteszteket. Az eltávolítási eljárással lezárja a probléma eredetét.

Tipp: Színpadi környezet használata (pl Behmasterállomásozó környezete) nagyszerű módja a tesztek futtatásának a webhelyen anélkül, hogy ez befolyásolná az élő webhelyet. Miután meghatározta az okot, és kijavította a problémát az átmeneti környezetben, áthelyezheti a módosításokat élő webhelyére.

A háttérkiszolgáló hibáinak diagnosztizálása az admin-ajax.php segítségével

A második leggyakoribb oka a magas admin-ajax.php A használat a WordPress Heartbeat API gyakori Ajax-hívásokat generál, ami magas CPU-használathoz vezet a szerveren. Ennek általában az az oka, hogy sok felhasználó bejelentkezett a WordPress háttér-irányítópultjára. Ezért ez nem fog megjelenni a sebességteszteken.

Belefáradt a WordPress-webhelyével kapcsolatos problémákba? Szerezze meg a legjobb és leggyorsabb tárhely-támogatást Behmaster! Tekintse meg terveinket

Alapértelmezés szerint a Heartbeat API lekérdezi a admin-ajax.php fájl 15 másodpercenként, hogy automatikusan mentse a bejegyzéseket vagy oldalakat. Ha megosztott tárhely-kiszolgálót használ, akkor nem rendelkezik sok szervererőforrással a webhelyéhez. Ha egy bejegyzést vagy oldalt szerkeszt, és hosszabb ideig nyitva hagyja a lapot, akkor az sok Admin Ajax kérést halmozhat fel.

Például amikor bejegyzéseket ír vagy szerkeszt, egyetlen felhasználó 240 kérést generálhat egy óra alatt!

Gyakori automatikus mentési admin-ajax.php kérések
Gyakori automatikus mentési admin-ajax.php kérések

Ez sok kérés a háttérben egyetlen felhasználóval. Most képzeljen el egy webhelyet, ahol több szerkesztő van bejelentkezve egyszerre. Egy ilyen webhely gyorsan képes felhalmozni az Ajax kéréseket, és magas CPU-használatot generál.

Behmaster valójában éppen ezzel a problémával találkozott, miközben segített a DARTDrones-nak a WooCommerce webhelyük méretezésében, hogy megjelenhessen a Shark Tankon.

Több mint 4,100-at kaptak admin-ajax.php hívások egy nap alatt mindössze 2,000 egyedi látogatóval. Ez gyenge kérések/látogatások arány.

Erős admin-ajax.php használat a dartdrones.com oldalon
Erős admin-ajax.php használat a dartdrones.com oldalon

Behmastercsapata észrevette a / Wp-admin hivatkozó URL-t, és helyesen határozta meg a kiváltó okot. Ezek a kérések annak köszönhetőek, hogy a DARTDrones adminisztrátorai és szerkesztői gyakran frissítették az oldalt a műsor előtt.

A WordPress részben már régen javította ezt a Heartbeat API-problémát. Például csökkentheti a Heartbeat API által generált kérések gyakoriságát a korlátozott erőforrásokkal rendelkező gazdagépeken. Egy óra billentyűzet/egér/érintés inaktivitás után is felfüggeszti magát.

A Heartbeat Control beépülő modul használata az Ajax kérések csökkentésére

Ezt a problémát egyszerűen kijavíthatja a WP Rocket Heartbeat Control beépülő moduljával. Lehetővé teszi a Heartbeat API gyakoriságának letiltását vagy módosítását néhány kattintással.

A Heartbeat Control bővítmény
A Heartbeat Control bővítmény

A Heartbeat Control beépülő modul telepítésével és aktiválásával kezelheti a Heartbeat API gyakoriságát a WordPress irányítópultján, a webhely frontendjén és a bejegyzésszerkesztőben.

A Heartbeat Control beépülő modul „Általános beállítások” irányítópultja
A Heartbeat Control beépülő modul „Általános beállítások” irányítópultja

Ha a szervere korlátozott CPU-erőforrásokkal rendelkezik, azt javaslom Szívverés letiltása mind a WordPress irányítópulton, mind a Frontenden. Te is Szívverés módosítása a „Bejegyzésszerkesztő” opció gyakoriságát, és növelje 30 másodpercre (vagy akár 60 másodpercre). Minél magasabb a frekvencia, annál nagyobb megtakarítás érhető el a felhasznált szerver erőforrásokon.

A pontosan használandó beállítások webhelyenként változnak. Ha nem biztos abban, hogy mit használjon, konzultáljon webfejlesztőjével.

Nagy forgalom DDoS-támadás vagy spamrobotok miatt

Ha túlterheli a webhelyet DDoS-támadással vagy spamrobotokkal, az is magas szinthez vezethet admin-ajax.php használat. Egy ilyen támadás azonban nem feltétlenül célozza meg a növekvő Admin Ajax kéréseket. Ez csak járulékos kár.

Ha webhelye DDoS-támadás alatt áll, akkor a prioritás az, hogy egy robusztus CDN/WAF mögé kerüljön, mint például a Cloudflare vagy a Sucuri. Minden hosting terv Behmaster magában foglalja Behmaster CDN, amely segíthet nagymértékben tehermentesíteni webhelye erőforrásait.

Ha többet szeretne megtudni arról, hogyan védheti meg webhelyeit az ehhez hasonló rosszindulatú támadásokkal szemben, tekintse meg részletes útmutatónkat a DDoS-támadások megállításáról.

Ha lelassult szervert és webhelyet lát, annak oka lehet, hogy túl sok Ajax-kérés. ⏳ Készüljön fel diagnosztizálására és javítására ezzel az útmutatóval!Kattintson Tweet

Összegzés

A WordPress az Ajaxot használja a Heartbeat API-jában számos alapvető funkciójának megvalósításához. Nem megfelelő használat esetén azonban megnövekedhet a betöltési idő. Ennek oka általában a következőhöz intézett kérések magas gyakorisága admin-ajax.php fájlt.

Ebből a cikkből megtudta a magas különböző okait admin-ajax.php használatáról, hogyan diagnosztizálható, hogy mi okozza ezt a tünetet, és hogyan javíthatja ki. Az esetek többségében ennek az útmutatónak a követésével webhelye pillanatok alatt újra zökkenőmentesen működik.

Bizonyos esetekben azonban a magasabb erőforrásokkal rendelkező kiszolgálóra való frissítés az egyetlen életképes megoldás. Különösen olyan igényes felhasználási esetekben, mint az e-kereskedelmi és tagsági oldalak. Ha ilyen webhelyet üzemeltet, fontolja meg egy felügyelt WordPress gazdagépre való frissítést, aki jártas az ilyen típusú teljesítményproblémák kezelésében.

Ha még mindig küzd a magas admin-ajax.php használatáról a WordPress webhelyén, tudassa velünk a megjegyzések részben.

Kapcsolódó cikkek

0 Hozzászólások
Inline visszajelzések
Az összes hozzászólás megtekintése
Vissza a lap tetejére gombra