Wie viele Cron-Jobs sind zu viele?


8

Ich habe ein paar Cron-Jobs für die Grundwartung, die nicht sehr ressourcenintensiv sind.

Ich habe auch eine benutzerdefinierte Aufgabenplanung (die nur eine .php-Datei aufruft und Informationen über GET weitergibt, dh: cronjob.php? Param1 = param ...). Diese können sich ziemlich schnell summieren.

Diese rufen einfach Systembefehle auf und führen externe Programme aus (Nmap ist eines davon). Sie dauern normalerweise auch nicht lange.

Wie auch immer, kann mir jemand sagen, welcher Punkt ungefähr zu viel ist? Ich weiß, es ist schwer zu sagen, da es davon abhängt, welcher Job wie oft ausgeführt wird, aber ab wann beginnt das Crontab-Programm zu "kämpfen"? Hat jemand eine Idee?

Vielen Dank.

cron 

9
Es ist wie zu fragen, wie viele Kalorien Sie an einem Tag essen sollten. Wenn Sie fett werden, ist es zu viel.

Guter Punkt, @earl (obwohl ich nicht herausfinden kann, wie Sie möglicherweise sowohl "Earl" als auch "Nameless" sein könnten ). Anstupsen zu SF.

Wie viele Einträge können Sie hinzufügen, bevor die Datei so groß wird, dass Ihnen der Speicherplatz ausgeht?
John Gardeniers

Antworten:


5

Ich würde mir keine Sorgen um die Belastung des "crontab-Programms" (cron) selbst machen. Dies ist Ihre Gesamtsystemlast, auf die Sie möglicherweise achten möchten. Sehen Sie sich die Messdaten (CPU-Auslastung, Io-Raten, Antwortzeiten für Webabfragen) während der Ausführung Ihrer Jobs an. Gibt es einen spürbaren Anstieg? Ist es schlimm genug, dass es die tatsächliche Nutzung des Systems stört?

Wenn die Programme "nicht lange dauern", ist das ein gutes Zeichen dafür, dass es kein Problem ist.

Wenn Sie immer noch besorgt sind, können Sie andere Maßnahmen ergreifen, um die Last zu begrenzen: Führen Sie die Jobs mit aus nice, um ihre Priorität zu verringern, führen Sie sie nacheinander statt gleichzeitig aus und so weiter.


4

Beim Durchsuchen unserer Produktionssysteme hatte das größte 862 Cron-Jobs (über alle Benutzer hinweg ist das größte einzelne, root, 117), und es bricht bei so vielen nicht besonders ins Schwitzen.

Wenn Sie 60 Jobs pro Minute rund um die Uhr starten und alle zwei Sekunden dauern, werden Sie wahrscheinlich in eine Welt voller Schmerzen geraten. Solange sich die Arbeitslast ausgleicht (mit ruhigen Zeiten und dergleichen), sollte sie sich erholen. Behalten Sie die Systemlasten während der Spitzenzeiten im Auge (CPU%, Festplatten-E / A, ...) und sorgen Sie sich mehr darum als um die Anzahl der tatsächlichen Jobs.

Diese Frage ähnelt "Wie viele Prozesse kann ich ausführen, bevor ich in Schwierigkeiten gerate?". Am besten probieren Sie es aus, da es von Ihrem System abhängt. Cron selbst hat nur wenige Einschränkungen, die ich gefunden habe, aber wenn Sie versuchen, Zehntausende von Jobs zu planen, belasten Sie es mehr als je zuvor.

Messen, nicht raten!


1

Cron selbst wird im Grunde nie anfangen zu kämpfen; Lange bevor dies geschieht, ist das System mit der Arbeitslast völlig überlastet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.