Warum es der Umwelt hilft, wenn du Cronjobs clever timest und reduzierst
Cronjobs, was war das noch mal?
Cronjobs sind wiederkehrende, automatisierte Aufgaben, die in festen Intervallen auf Servern ausgeführt werden. Sie laufen im Hintergrund und übernehmen Aufgaben wie das Exportieren von Produktpreisen in ein Vergleichsportal, das Erstellen und Versenden von Reports oder das Abarbeiten von Warteschlangen für E-Mail-Benachrichtigungen.
Häufig werden sie auch für sogenannte Worker-Prozesse genutzt. Ein Beispiel: Ein Webshop schickt nach jeder Bestellung automatisch eine Bestellbestätigung per E-Mail. Statt diese sofort zu senden, legt das System die Bestellung in eine Warteschlange. Ein Worker-Prozess – oft per Cronjob gesteuert – ruft die Bestellungen dann in regelmäßigen Abständen ab und verschickt die Bestellbestätigung im Hintergrund. So kann die Seitenladezeit für den Käufer deutlich reduziert werden.
Viele parallele Cronjobs führen im Rechenzentrum zu deutlich höherem Energieverbrauch.
Cronjobs beeinflussen den Energieverbrauch
Jeder Cronjob benötigt CPU-Zeit, RAM und damit Strom. Doch das eigentliche Problem entsteht, wenn zu viele Cronjobs gleichzeitig anlaufen.
Solche plötzlichen Peaks bedeuten, dass wir die Stromversorgung und die Notfallkapazitäten für diese Höchstwerte auslegen müssen – auch wenn sie nur wenige Minuten andauern. Das bringt eine ineffiziente Nutzung der Infrastruktur und höhere Kosten mit sich.
Die Lastspitzen sind teilweise 20 bis 30 KW oberhalb unseres regulären Stromverbrauchs.
Lastspitzen machen es kompliziert
Zu manchen Zeiten starten wir parallel tausende Cronjobs. Unsere Server fahren für kurze Zeit massiv hoch. Damit wir die Stromspitzen abfangen können, sichern wir sie technisch ab – mit Auswirkungen auf die Effizienz und ökologische Nutzung.
- Überdimensionierte Stromversorgung
Das gesamte Stromnetz im Rechenzentrum ist so ausgelegt, dass es auch die höchsten Lastspitzen problemlos bewältigt. Das bedeutet leistungsfähigere Stromleitungen und stärkere USV-Systeme (unterbrechungsfreie Stromversorgung), die für zusätzliche Puffer sorgen. - Stärkere Kühlung
Wenn viele Cronjobs parallel bearbeitet werden, geben die CPUs mehr Wärme ab. Diese muss dann durch die Klimasysteme rausgekühlt werden. - Höhere Anforderungen an die Notstromversorgung
Unser Rechenzentrum besitzt ein großes Notstromsystem. Auch dieses System ist auf die Spitzenlasten ausgelegt, was den Betrieb teurer macht.
Jetzt aber mal reinfolgen!
Abonniere Tipps für CMS und Dev-Tools, Hosting Hacks und den ein oder anderen Gag. Unsere schnellen Takes für dich per E-Mail.
Was wir tun, um den Einfluss der Cronjobs zu verringern
Um diese Probleme zu minimieren, vergeben wir im mStudio, unserer Cloud-Hosting-Verwaltung, die Zeiten für Cronjobs per Default zufallsmäßig.
Wenn jemand bei der Konfiguration ‚Einmal am Tag‘ auswählt, schlagen wir dem einen Kunden zum Beispiel 03:16 Uhr vor, beim nächsten 06:32 Uhr, beim darauffolgenden 14:28 Uhr und so weiter.
Anstatt alle Cronjobs auf Standardzeiten wie 00:00 Uhr oder 04:00 Uhr zu legen, setzen wir auf zufällig generierte Zeitpunkte. Dadurch verteilen sich die Lasten im Rechenzentrum besser.
Du kannst deine Cronjobs aber natürlich auf jede gewünschte Zeit legen.
Das kannst du tun
- Vermeide Standardzeiten
Setze Cronjobs nicht auf runde Zeiten wie 00:00 oder 12:00 Uhr, sondern wähle zufällige Zeitpunkte wie 03:23 Uhr oder 14:47 Uhr. - Reduziere die Frequenz
Überlege, ob dein Cronjob wirklich alle 5 Minuten laufen muss. Oft reicht auch alle 10, 15 oder 30 Minuten. Oder, wenn du die Daten nicht häufig anschaust, vielleicht nur einmal die Woche? - Staffele deine Jobs
Falls du mehrere Cronjobs hast, starte sie nicht alle gleichzeitig. Verteile sie über den Tag. - Nutze die "PHP-Worker"-App statt Cronjobs, um Workerprozesse zu starten
Im mStudio kannst du mit der "PHP-Worker"-App deinen Worker ganz einfach als dauerhaft laufenden Prozess starten. Wenn du dafür zusätzlich auf Tools wie pm2 setzt, kannst du diesen sogar ganz einfach skalieren. Doku und Beispiele findest du im Developer-Portal.
Im mStudio werden Cronjobs per default zu krummen Zeiten angelegt.
Kleiner Aufwand, große Wirkung
Mit wenigen Anpassungen kannst du nicht nur dein Webprojekt effizienter machen, sondern auch einen Beitrag zu einem stabileren und energieeffizienteren Hosting leisten. Weniger Lastspitzen bedeuten weniger Stromverbrauch, langlebigere Server und damit ein nachhaltigeres Hosting.
Tipp!
In unserer Hostingverwaltung mStudio kannst du deine Cronjobs einfach und übersichtlich konfigurieren. Probiere es aus! Das kannst du zum Beispiel, indem du den Space-Server jetzt kostenlos testest.