Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo zusammen,

bei meinem Kunden müssen über 100 verschiedene Umlagezyklen in möglichst optimaler Zeit verarbeitet werden können. Diese alle im Dialog (KEU5) einzplanen ist zu aufwändig, deshalb muss eine Programmlösung her. Jetzt könnte ich natürlich einfach per Programm 100 Jobs einplanen und warten wie das System damit klar kommt, gerade zum Zeitpunkt Monatsabrechung macht man sich sicher viele neue Freunde bei Kollegen, die auch gerade am System arbeiten.

Bei der RFC Verarbeitung via Multitasking kann man über RZ12 RFC Servergruppen definieren die die Anzahl der verfügbaren Dialogprozesse limitieren und auch selbst auf Server verteilen, gibt es so was ähnliches auch in der Jobverarbeitung?

Vielen Dank und Gruß,

Wolfgang
Geht nicht gibts nicht

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von Shortcut IT (ForumUser / 52 / 2 / 18 ) »
Hallo,
Jetzt könnte ich natürlich einfach per Programm 100 Jobs einplanen und warten wie das System damit klar kommt,
in deinem Programm könntest du über Funktionsbaustein RZL_SYSTEMWIDE_WPINFO die Anzahl belegter bzw. freier Batch-Prozesse ermitteln und immer nur dann weitere Jobs einplanen, wenn eine gewisse Quote freier Batch-Prozesse verfügbar ist.
Viele Grüße
Shortcut IT

Folgende Benutzer bedankten sich beim Autor Shortcut IT für den Beitrag:
Romaniac


Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von a-dead-trousers (Top Expert / 4419 / 224 / 1189 ) »
Ich verstehe hier das Problem offensichtlich nicht.
Die Batchjobs werden auf eigenen Prozessen ausgeführt und verbrauchen dadurch keine Dialogprozesse. Zudem ist die SAP Lastverteilung so ausgelegt, dass die Jobs nach dem FIFO Prinzip (eventuall noch mit zusätzlicher Priorisierung) abgearbeitet werden.
Und 100 Batch Jobs schrecken mich schon mal gar nicht. So was läuft bei uns pro Stunde.
Wenn du wirklich Angst hast, dass zuwenig Ressourcen für Online Prozesse frei sind, dann plane die Jobs doch mit der niedrigsten Priorität und lass das SAP System selbst entscheiden in welcher Zeit es die 100 Jobs ababeiten kann. Zumal dir diese Jobs ja nicht so wichtig sind, dass du sie anderen nicht vorziehen möchtest.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo adt,

die Zyklen laufen in Summe knapp 5 Stunden, somit sind auch 100 BTC Prozesse 5 Stunden blockiert. Ich habe auf unserem Testsystem a 5 Server je 20 BTC Workprozesse gezählt, die wären (Testsystem) auf jeden Fall schon mal 5 Stunden blockiert. Oder sehe ich das falsch?

Ich denke eher dass in dieser Zeit kein anderer Jobs starten könnte?
Danke und Gruß,

Wolfgang

Folgende Benutzer bedankten sich beim Autor Romaniac für den Beitrag:
a-dead-trousers

Geht nicht gibts nicht

Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von ewx (Top Expert / 4871 / 314 / 644 ) »
Ich bin mir nicht sicher, ob das hier passt:
https://help.sap.com/docs/SAP_ERP_SPV/b ... 74cb4.html

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
Romaniac


Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von a-dead-trousers (Top Expert / 4419 / 224 / 1189 ) »
Romaniac hat geschrieben:
02.11.2022 18:40
die Zyklen laufen in Summe knapp 5 Stunden, somit sind auch 100 BTC Prozesse 5 Stunden blockiert. Ich habe auf unserem Testsystem a 5 Server je 20 BTC Workprozesse gezählt, die wären (Testsystem) auf jeden Fall schon mal 5 Stunden blockiert. Oder sehe ich das falsch?
Etwas.
Romaniac hat geschrieben:
02.11.2022 18:40
Ich denke eher dass in dieser Zeit kein anderer Jobs starten könnte?
Alle anderen in dieser Zeit auch eingeplanten Jobs werden ebenfalls (nach Freiwerden eines BTC) abgearbeitet das ist ja das Tolle am FIFO-Prinzip. Und wenn es wirklich Probleme geben sollte, kann man die 100 Jobs wie gesagt auch mit niedriger Priorität einplanen sodass alle anderen Jobs diesen vorgezogen werden.

Ennos Vorschlag mit der Parallelisierung von Hintergrundjobs ist auch einen Versuch wert nur muss man da etwas aufpassen weil asynchrone RFCs auf Dialogprozessen laufen. Zudem, wenn man sich die Dokumentation so durchliest, dürfte das Ganze nur bei besonders datenintensivenen Jobs Sinn machen wo man die Eingabegrößen (Selektionsbedingungen? IDocs? ext. Datenquellen?) logisch aufteilen kann. Auch wenn das dieses Hilfsprogramm erledigen können soll, stellt sich mir trotzdem die Frage, wie es das zu Wege bringen soll. Ich und vermutlich auch viele andere hatten sicher öfter schon das Problem wie man die Daten angemessen aufteilen soll. Wenn man dann noch in Betracht zieht wie unterschiedlich oft programmiert wird ...
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo adt,

es sind ja bereits angelegte Zyklen die ich dann per Programm in die die Hintergrundverarbeitung stecke, dazu habe ich mir diese Teile aus dem SAP Standard rauskopiert (KEU5 -> im Hintergrund ausführen). Wenn ich jetzt die Fachabteilung frage welche Prio diese Zyklen habe kenne ich jetzt schon die Antwort ;-)

Wir lassen das mal auf der Testmaschine laufen und schauen mal was passiert. Den Link von Enno habe ich mir auch durchgelesen und mir die Transaktion angesehen, ich vertraue jetzt mal auf die intelligente Jobsteuerung.

Vielen Dank und Gruß,

Wolfgang
Geht nicht gibts nicht

Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von Shortcut IT (ForumUser / 52 / 2 / 18 ) »
Hallo,
... kann man die 100 Jobs wie gesagt auch mit niedriger Priorität einplanen sodass alle anderen Jobs diesen vorgezogen werden
na ja, so ganz einfach, wie sich das liest, ist das nicht. Dem Wald- und Wiesenanwender, der seinen Report im Hintergrund verarbeiten lässt, steht die Auswahlmöglichkeit der Job-Priorität gar nicht zur Verfügung. Ein Programm, das vom Anwender über "Execute in Background" im Batch ausgeführt wird, landet zwangsläufig in Jobklasse C, also bereits in der niedrigsten Priorität. Werden in kürzester Zeit 100 Jobs gestartet, ganz egal in welcher Jobklasse, kann das je nach Systemgröße und Verfügbarkeit von Batchprozessen durchaus für Unmut sorgen. Ich finde das schon absolut angemessen, dass sich der Fragesteller Gedanken darüber macht, wie er die 100 Jobs ins System einkippt.
Viele Grüße
Shortcut IT

Folgende Benutzer bedankten sich beim Autor Shortcut IT für den Beitrag:
a-dead-trousers


Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von JHM (Top Expert / 1201 / 1 / 197 ) »
Romaniac hat geschrieben:
03.11.2022 08:36
Wir lassen das mal auf der Testmaschine laufen und schauen mal was passiert.
KBA "1964152 - KEU5 Performance" ist bereits berücksichtigt?

Müssen die 100 Jobs wirklich alle parallel Laufen?
Evtl. reicht es ja aus daraus Job Ketten zu erstellen: erst Job A, dann Job B, dann Job C.
Gruß Hendrik

Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo Hendrik,

Problem ist wohl die große Anzahl der Zyklen und die verfügbare Zeit für die Verarbeitung im Monatsabschluss. Auf diesen Daten basieren dann Folgeverarbeitungen der umgelegten Werte. Dauert das zu lange, verschiebt sich die ganze Abschlusskette nach hinten. Versuche mit Zyklenablaufgruppen waren auch nicht erfolgreich weil die Jobs dann warten mussten bis die gerade verarbeitete Ablaufgruppe fertig ist -> Zeitverlust. Das müssen die Fachabteilungen dann unter sich ausmachen wer Jobs mit welcher Prio bekommt. Ich sehe hier schon ein Problem wenn meine Jobs mit Prio A den Server dicht machen.

Hinweis 1964152 bezieht sich auf die CE3/CE4 Tabellen, Kunde hat S4 (ACDOCA), ich werde aber mal die anderen Anmerkungen (Segmente) untersuchen, vielen Dank.

Gruß Wolfgang
Geht nicht gibts nicht

Re: Massenverarbeitung mit vielen Batchjobs, wie Ressourcen sinnvoll verwalten?

Beitrag von a-dead-trousers (Top Expert / 4419 / 224 / 1189 ) »
Romaniac hat geschrieben:
02.11.2022 10:18
Bei der RFC Verarbeitung via Multitasking kann man über RZ12 RFC Servergruppen definieren die die Anzahl der verfügbaren Dialogprozesse limitieren und auch selbst auf Server verteilen, gibt es so was ähnliches auch in der Jobverarbeitung?
Ich merke gerade, dass auf die ursprüngliche Frage gar nicht eingegangen wurde.
Natürlich gibt es die Servergruppen auch für Batchjobs. Die Einstellungsmöglichkeit dafür steht aber entweder nur programmatisch via JOB_CLOSE (TARGETSERVER) oder in der SM36 bzw. im Nachgang in der SM37 ("Ausführungsziel") zur Verfügung. Man kann damit entweder einen bestimmten Server oder eine Gruppe (mit <...>) angeben.

Man könnte also z.B. einen ganzen Server (10 BTC-Prozesse) nur für diese spezielle Verarbeitung vorsehen während die anderen für die "normalen" Benutzer weiterhin noch zur Verfügung stehen. Man könnte somit auch einen Server mit "mehr" BTC- und "weniger" Dialogprozessen ausstatten und mit diesem dann die Verarbeitung noch weiter "beschleunigen".

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
ewxRomaniac

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

1
Antw.
5809
Views
Generische Objekte in der Massenverarbeitung
von TravellingEntwickler » 22.11.2019 15:50 • Verfasst in Tutorials & Cookbooks
4
Antw.
2132
Views
Selection-Screens mit Daten aus vielen vers. Tabellen
von Legxis » 09.05.2018 14:53 • Verfasst in ABAP® für Anfänger
4
Antw.
4084
Views
eigene User für Batchjobs
von darmon » 26.04.2017 10:44 • Verfasst in Basis
5
Antw.
3466
Views
Batchjobs die im Minutentakt laufen
von fawkes » 27.06.2007 12:44 • Verfasst in ABAP® Core
2
Antw.
4366
Views

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
vor 23 Stunden von black_adept gelöst 8 / 1734
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2290

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
vor 23 Stunden von black_adept gelöst 8 / 1734
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2290

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 265
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 852
MS-Word als Editor
letzen Monat von tekko 1 / 4365