Felhasználó: Vendég Belépés

Hírek

Wordpress cron

A wp-cron.php és admin-ajax.php erőforrás használatának csökkentése 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.

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?

Az AlfaByte 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 az ISPConfig felületen tudjuk beállítani, kattintsunk a az Új Cron feladat gombra.


Majd állítsuk be a 12 órás futtatási időt.


Egy kis segítség a beállításhoz

Perc (0-59)
Óra (0-23)
A hónap napja (1-31)
Hónap (1-12)
A hét napjai (0-6) (0=Vasárnap)

Ahol * van, azt jelenti, hogy minden egyes percben, órában stb. fusson. Ha egyes pozíciókban több értéket akarunk megadni, akkor azokat vesszővel választjuk el. (pl.: 2,12,18).
A * azt jelenti, hogy minden, és a / valamiszám a ciklusosságot.

Egy példa a minden második órára:

Perc 0
Óra */2
A hónap napja *
Hónap *
A hét napja *

Minden esetben meg kell adni mind az öt pozíciót, azaz minden esetben kötött a sorrend, és nem maradhat ki egyik sem. Perc, Óra, HónapNapja, Hónap, HétNapja, sorrendben! Bár nem a legideálisabb, de én azt a szokást vettem fel, hogy visszafele kezdek el gondolkodni, azaz első kérdés, hogy a hét melyik napján fusson, majd melyik hónapban (általában mindegyikben), majd a hónap napjait (általában minden nap), majd az órát és a percet gondolom át.

PHP verzió beállítása
Ha be van állítva a log output akkor a cron futás logja tárhelyen a /private könyvtárban lesz cron.log néven, ha valami hiba van, akkor pedig lesz egy cron_error.log nevű file is.
Ha csak úgy van a parancs megadva, hogy php -f [web_root]/wp-cron.php akkor php7.4 es php-n lesz futtatva a wp-cron.php
Ha másik verzió kell, akkor a "php" -t le lehet cserélni "php56" vagy "php70" vagy "php72" -re.
pl: "php56 -f [web_root]/wp-cron.php" ez így az 5.6 -os php verzióval lesz futtatva.

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.

Szerző: Admin
Dátum: 2022-05-11.
  • Képtömörítés2018-07-14

    Több képméretben is tömöríti az általad feltöltött képet, tehát készít bélyegképet, közepes képet, teljes... tovább

  • Let's Encrypt (nyílt tanúsítványkezelési szabvány)2017-10-10

    Bármilyen mennyiségű, bizalmas, személyes adat interneten keresztül történő forgalmazása minőségi titkosítást... tovább

  • Tegyük biztonságosabbá WordPress weboldalunkat.2018-07-15

    Többek között ennek a modularitásnak köszönheti a népszerűségét. A web 31%-a (több mint 60 millió webolda... tovább

  • Wordpress cron2022-05-11
    A wp-cron.php és admin-ajax.php erőforrás használatának csökkentése WordPress rendszerek esetén gyakor... tovább