Auch Entwickler brauchen Platz zum Spielen

10. November 2009 /

Performance in WordPress: Cronjobs begutachten und bereinigen

Seit der Version 2.1 ist WordPress in der Lage, angelegte Cronjobs nativ, also losgelöst von Drittapplikationen, auszuführen. Diese großartige Funktionalität, wiederholte Aufgaben direkt im Blog-System zu hinterlegen und zu verwalten, wird von Plugin-Entwicklern gerne und oft genutzt – Web-Hoster und externe Cronjob-Anbieter stellen für Blogger keine lästige Abhängigkeit mehr dar. Doch „Leichen“ in der Cronjob-Kartei bedeuten auch Risiken.

Ein Mysterium: Cronjobs unter WordPress
Wie Cronjobs in WordPress zu potentieller Gefahr mutieren können, ist auf den ersten, oberflächlichen Blick nicht ersichtlich. Eine winzige Portion Fachwissen schafft die nötige Abhilfe und hilft zum Verständnis: Bei wirklich jedem Aufruf der Blogseiten prüft WordPress im Hintergrund, welche systematische Tasks angelegt sind und zu welchen Zeiten sie ausgeführt werden sollen. Simple Definition dieser Funktionsweise: Der Besucher des Blogs stößt die anstehenden Cronjobs an.

WP-Control für WordPress Cronjobs
Unter „Werkzeuge > Control“ niestet sich das Tool ein

Und da jeder Seitenaufruf sich um die Prüfung und die Ausführung der vom System und den Plugins gespeicherten Aufgaben kümmert, sollte die Liste der Cronjobs so klein wie möglich gehalten werden. Dabei ganz wichtig zu beachten: Dort möglichst keine Duplikaten, keine Tasks von längst entfernten Plugins.

Wiederholte Aufgaben einsehen und verwalten
Das WordPress Plugin WP-Crontrol gewährt eine ausführliche Einsicht unter die Haube des Cronjob-Mechanismus und listet vorrätige Aufgaben detailliert auf. In der Standard-Auslieferung bringt das Blogsystem bereits 3 Einträge mit (wp_version_check, wp_update_themes, wp_update_plugins), die dafür Sorge tragen, den Blog-Administrator zeitnah auf eventuell existente Aktualisierungen des WP-Kerns und der installierten Erweiterungen zu informieren. Diese bitte unberührt lassen, sind aber auch notfalls schreibgeschützt.

Deaktivieren, bereinigen, clean
Sonstige Cronjobs in der Liste stammen von ehemaligen oder eben aktuellen Erweiterungen wie Plugins und Themes. Die Amtspflicht des Administrators an dieser Stelle: Liste auf mögliche „Leichen“ und „Wiederholungstäter“ durchschauen. Effizienter Tipp: Aktive Plugins deaktivieren, Einträge aus der Tabelle mit Cronjobs löschen (Standard-Items ausgenommen), notwendige Plugins wieder in Betrieb nehmen. In diesem Schritt werden Cronjobs von aktiven Plugins erneut initialisiert, so dass die Liste nur intakte Werte aufweisen müsste. Doppelte, unbrauchbare Daten landen in Nirwana – eine Erleichterung für WordPress, da gleiche Jobs nicht mehrfach aufgerufen werden müssen. Der Aufruf der Todos mit nicht existenten Zielen entfällt und bringt spürbare Performance.

Aufgeräumte Liste der Cronjobs in WordPress
Aufgeräumte Liste der Crontabs in WordPress

Fazit
Im Laufe der Zeit verschlucken sich die Plugins gern – mehrere Instanzen in der Cronjob-Tabelle ist die resultierende Bilanz. Beim Deinstallieren der Erweiterungen „denkt“ kaum ein Plugin an das pflichtbewusste Aufräumen der initialisierten Aufgaben – kann ebenfalls passieren. Daher die Empfehlung: Der Blog-Administrator sollte alle 3 – 4 Monate, je nach Plugin-Aktivität im Backend, die Auflistung der Cronjobs kritisch unter die Lupe nehmen und Parasiten mit einfachen Klicks eliminieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.