admin-ajax.php és wp-cron.php erőforrás használatának csökkentése

Itt vagy:
< Vissza

WordPress rendszerek esetén gyakori probléma, hogy kis látogatószám esetén is igen magas az oldal erőforrás felhasználása, így a tárhelyhez biztosított erőforrást esetenként maximálisan kihasználja. A probléma oka lehet a admin-ajax.php és wp-cron.php futása melyek a rendszerhez tartozó funkció manipulációkat tartalmazzák.

WordPress optimalizálásakor az alábbiakat érdemes elvégezni.

1. wp-cron.php

Mi a feladata?
A CRON a feladatok ütemezésére szolgálnak meghatározott időpontokban a WordPress rendszerben. A WordPress cron feladata, hogy ellenőrizze vannak egy frissítések a rendszerhez, az időzített bejegyzéseket ez az ütemező teszi közzé, illetve az előre meghatározott ütemezés szerint futó biztonsági mentést futtatja, ha be van állítva ilyen bővítmény az oldalunkon.

Miért okoz teljesítmény problémát?

A Sybell sok nagy forgalmú WordPress oldalt üzemeltet. Emiatt sok teljesítményproblémát tapasztaltunk a WordPress beépített Cron kezelőjével.
A wp-cron egy WordPress által fejlesztett cron feladat, ami a rendszerbe be van építve, ezért fontos tudni, hogy MINDEN oldal betöltődéskor lefut a wp-cron.php is, ezzel ellenőrzi, hogy vannak-e teendői. Ha van teendője a feladatlistáját el is végezi. Fontos kiemelni, hogy ez MINDEN meghíváskor lefut és így MINDEN oldal betöltődéskor terheli a tárhely erőforrásait.

Ahhoz, hogy optimalizáljuk a WordPress erőforrás felhasználását, javasolt a wp-cron automatikus futását letiltani, majd javasoljuk időzíteni 12 óránkénti futásra.

A wp-cron.php probléma megoldása

1. lépésben tiltsuk le a wp-cron futását, ezt a wp-config.php fájlban tudjuk beállítani.
Az alábbi sort írjuk be a wp-config.php fájlba, az alábbi képen látható módon.

define('DISABLE_WP_CRON', true);

Ezzel tiltottuk is a cron futását!

2. lépésben állítsuk be a wp-cron.php időzített futtatását az általunk javasolt 12 órára.
A cron futását cPanel felületen tudjuk beállítani, kattintsunk a Cron-feladatok menüre.

 

Ezt követően állítsuk be, a felületen a naponta kétszeri futást (1.), majd a Parancs (2.) mezőbe írjuk be az alábbit. Értelem szerűen a „domainnevünk.hu” részt cseréljük ki a saját domain nevünkre.

wget -q -O – https://domainnevünk.hu/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Majd kattintsunk az Új cron-feladat hozzáadása (3.) gombra.

Ha beállítottuk az alábbi sort kell, hogy lássuk.

 

2. admin-ajax.php 

Mi a feladata?

Az Ajax egy JavaScript-alapú webes technológia, amely segít dinamikus és interaktív webhelyek működésében.
A WordPress az Ajax segítségével biztosítja az alapvető adminisztrációs területek számos funkciójának, például az automatikus mentéseket menedzseli, a felhasználói munkamenetek kezelésért felel, illetve közösen szerkesztett bejegyzések esetén értesít, stb.

Hogyan működik?

Az admin-ajax.php a böngésző és a szerver között hoz létre kapcsolatot 15 másodpercenként. Így a több egyidejű Ajax-kérés (admin-ajax.php) magas erőforrás használathoz vezethet, ami jelentősen lelassítja a tárhelyet, növeli az erőforrás használatot és terheli a weboldalt ezáltal. Ez a WordPress rendszer optimalizálásának hiányát jelenti egyértelműen.

admin-ajax.php probléma megoldása

Úgy tudjuk optimalizálni a működést, hogy egy bővítmény segítségével a WordPress Heartbeat API-nak megmondjuk, hogy „mit” és „milyen gyakran” ellenőrizzen.
A WP Rocket Heartbeat Control bővítménnyel könnyen megoldhatod ezt a problémát. Ez lehetővé teszi, hogy néhány kattintással letiltsd vagy módosítsd a Heartbeat API működését.

A Heartbeat Control bővítmény telepítése és aktiválása után kezelheted a Heartbeat API gyakoriságát a WordPressben. Kattints a Beaállítások->Heartbeath Control menüre.

A bővítményben, 3 opciót látunk „WordPress Dashboard”, „Frontend”, „Post editor”. Mind a három opción esetén válasszuk ki a Modify Hearthbeat lehetőséget és állítsuk be a csuszkát 120-as értékre.

Majd kattintsunk a Save changes gombra.

Ha még ezt követően is teljesítmény problémát tapasztalunk, javasolt növelni az értékeket 200-ra vagy letiltani mind a három opciót, a „Disable Heartbeat” lehetőséggel.