Ausgangsproblem
In einer Installation laufen automatisierte Abläufe, die im "normalen" Lauf das System bei hoher Last unnötig zusätzlich belasten. Dadurch laufen andere, wichtig(er)e Abläufe oder Benutzersessions, spürbar langsamer. Die Abläufe selber sind jedoch nicht zeitkritisch, so daß eine Drosselung unkritisch ist.
Lösungsansatz
Nicht-zeitkritische Abläufe, die abhängig von der Last auf einem UC4-System laufen sollen, lassen sich durch den geschickten Einsatz von SYNC Objekten so steuern, daß sie nur bis zur tolerierbaren Auslastung laufen, und sonst stehen bleiben. Eine solche Steuerung ist sinnvoll bei Abläufen, die die UC4 Datenbank oder das UC4 System selber belasten, wie z.B. REORGS. Die Steuerung läßt sich - durch Verwendung eines SYNC im Mandanten 0 - auch systemweit durchführen.
Um eine solche Steuerung zu erreichen wird folgendes benötigt:
- ein SYNC Objekt mit den Zuständen USE (das SYNC wird unbeschränkt genutzt) und LOCK (das SYNC ist komplett gesperrt). Optional kann das SYNC Einstellunge dafür haben, daß eine Drosselung (THROTTLE) erfolgen kann, so daß bereits vor dem Erreichen der tolerierbaren Auslastung der Durchsatz des SYNC Objektes gedrosselt werden kann.
- die Jobs, Filetransfers, Pläne usf., die mittels dieses SYNCs gesteuert werden sollen.
- ein SCRI, mit dem das SYNC gedrosselt oder gesperrt werden kann
- ein zweites SCRI, mit dem das SYNC von LOCK oder THROTTLE freigegeben werden kann
- ein drittes SCRI, das in Abhängigkeit von der Systemauslastung das SYNC entweder drosselt/sperrt oder freigibt. Zur Bestimmung der Systemauslastung kann die Scriptfunktion sys_busy_01 .. sys_busy_60 verwendet werden. Diese Funktionen geben zwar nur einen groben Näherungswert der tatsächlichen Belastung eines UC4 Systemes wieder, können aber durch geeignete Auswahl der Schwellwerte für THROTTLE oder LOCK eine zusätzlihe Belastung des UC4 Systemes verhindern.
Zur dynamischen Steuerung parallel laufender Jobs s. die Steuerungsmöglichkeiten bei JOBG.