Warum es der Umwelt hilft, wenn du Cronjobs clever timest und reduzierst

|
Weißer Text auf blauem Hintergrund: Cronjobs timen und reduzieren - Für weniger CO2-Ausstoß deiner Website
Du kennst Cronjobs als festen Bestandteil deiner Webprojekte. Sie sorgen für regelmäßige Updates, E-Mail-Versand und andere Hintergrundaufgaben. Was viele nicht wissen: Cronjobs haben einen großen Einfluss auf die Infrastruktur deines Hostings. Das Problem: Viele Cronjobs starten zu ähnlichen Zeiten, etwa zur vollen Stunde oder um Mitternacht. Das führt in unserem Rechenzentrum in Deutschland zu extremen Lastspitzen – mit Konsequenzen für die Energiebilanz und die Kosten des Hostings. Was da genau passiert und wie du mit deinen Cronjobs zu nachhaltigerem Hosting beitragen kannst, erfährst du in diesem Artikel. 

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. 

Diagramm, dass die Ausschläge des Energieverbrauchs im Rechenzentrum anzeigt. Die Cronjobs sind als deutliche Ausschläge sichtbar.

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. 

Olaf Quade
Leitung Rechenzentrum

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.  

  1. Ü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.
  2. 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.
  3. 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.

Wie dürfen wir dich ansprechen?

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.

Patrick Hilker
Product Owner mStudio

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 

  1. 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.
  2. 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?
  3. Staffele deine Jobs 
    Falls du mehrere Cronjobs hast, starte sie nicht alle gleichzeitig. Verteile sie über den Tag.
  4. 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.
Screenshot aus dem mStudio: Mehrere Felder in denen du die Zeitpunkte eines Cronjobs einstellen kannst

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.

Ähnliche Artikel:

Webentwicklung

Stefan Farnetani (mindscreen) über Barrierefreiheit und die Auswirkung auf Agentur-Prozesse

„Wir können die Zeit nicht mehr zurück in die 90er drehen, als wildwestmäßig programmiert wurde.“ Der Accessibility Specialist Stefan Farnetani (Geschäftsführer ...

Foto von Martin Helmich mit dem Zitat "Head in the Cloud bringt Menschen zusammen
mittwald

„Head in the Cloud bringt Menschen zusammen“ – Interview mit Organisator Martin Helmich

Deshalb solltest du den Head in the Cloud Summit nicht verpassen! Martin verrät erste Speaker und worauf du dich freuen kannst.