PDA

View Full Version : Performance für Batchjobs



pmvstrm
04-09-08, 18:45
Nochmals Moin Moin!

Also die Überschrift sagt es eigentlich
schon. Unser System, eine i5 V3 ist momentan manchmal etwas lahm in Punkto Batchjobs, aber eine neue Maschine steht ins Haus und wird im November 2008 montiert.

Die neue Maschine hat zwar eine grössere
CPU und mehr RAM aber ich frage mich
nach dem bisherigen Studium des OS/400 ob das wirklich der Punkt ist
wo man die Verarbeitungsgeschwindigkeit wesentlich erhöhen kann. Unmöglich
wird es jedoch sein alle Jobs zu optimieren, da gibts kein Budget und
keine Freigabe, aber angesichts dessen,
daß wir eine neue Maschine bekommen,
könnten wir ja auf bestimmte Dinge achten.

Nach meinem Eindruck scheint sich beim
OS/400 Performancemässig im Hardwarebereich das meiste mit einem
sehr schnellen Disksubsysten herrausholen zu lassen.

Gerade als Assembler und Lowlevel
Programmierer auf 68er und Intel x86
Blech scheint die CPU und der RAM
immer Ewigkeiten warten zu müssen bevor von dort die Daten angeladen wurden. Kann einer gute Komponenten
empfehlen die wir noch bei der Bestellung berücksichtigen können und die in der Praxis nennenswert was gebracht hätten?

ps: Bitte keine Google Empfehlungen,
denn wie Google funktioniert weiß ich schon selbst ein weilchen.

LG PMV

holgerscherer
04-09-08, 19:18
Gerade als Assembler und Lowlevel
Programmierer auf 68er und Intel x86
Blech scheint die CPU und der RAM
immer Ewigkeiten warten zu müssen

Tu Dir bitte selbst einen Gefallen und vergiss alles über Intel-Büchsen und Assembler-Programmierung, wenn Du mit Performance auf der AS400 zu tun hast. Das ist eine ganz andere Welt.
Wenn Ihr jetzt eine V3-Maschine habt, ist das eine alte CISC-Möhre, da waren die CPUs generell immer zu langsam, wenn man ein brauchbares Disk-Subsystem hatte.
Auf einer neuen Maschine ist die CPU-Leistung in der Regel ausreichend, meist macht man da den Fehler und dimensioniert die Platten zu gering. Ausser, man geht auf komplexe Java-Anwendungen und vergisst, dass 64Bit-Code schnell doppelt so viel RAM braucht, auch die 32Bit-JVM reduziert das nicht immer.

Und - ohne zu wissen was bei Euch auf der Maschine nicht läuft - ist ohne professionelle Hilfe sowieso nur die Glaskugel hilfreich.

-h

pmvstrm
04-09-08, 19:36
Stop stop! Hab auch schon auf 68000er und PowerPC sachen rum assembliert ;)

Unser OS/400 ist ein I5/OS V5R3, IFS
und Java 1.4 enabled. Derzeit arbeiten
wir noch mit PDM aber das wird sich
ab Herbst mit der neuen Maschine in
Richtung Ration Developer 7.1 und der
neuen Maschine ändern.

Wir haben eine RPGIV ERP Lösung
(ohne ILE) im Einsatz. Mehr als RPG und
CL läuft bei uns Prozesstechnisch nicht.

Wir haben zwar Modifizierungen des ERP
Systems laufen, aber die sind jetzt nach zig Jahren schon so umfangreich, das wir 2 Jahre für einen neuen Releasewechsel brauchen.

Wir bekommen jetzt halt eine neue Maschine und ich denke, eventuell kann
man da noch beim kauf clever reagieren und Leistungssteigernde Komponenten
berücksichtigen, wenn ich nur wüsste
welche das denn sind :)

Momentan gehe ich davon aus, daß OS/400 am meisten von einem schnellen Diskssubsystem profitieren würde, aber da weißt Du sicher mehr als ich.

holgerscherer
04-09-08, 21:18
Stop stop! Hab auch schon auf 68000er und PowerPC sachen rum assembliert ;)


Der 68k war schon ein geiles Teil, was hab ich mir damals auf dem Amiga im Assembler die Finger damit verbrannt, aber nachher tolle Sachen rausgeholt... aber mit dem PowerPC hat er auch nur teilweise zu tun, so wie der PowerPC nur ein kleiner Bruder des POWER ist. Und Assembler auf der AS400 ist sowieso nich drin ;-) Deswegen sage ich: Wenn man nicht reine Java-Programme auf der AS400 laufen lässt (was auch nicht immer die beste Wahl ist), vergisst man am besten erst mal alles was man über Windows- und Unix-Blech vergisst und beschäftigt sich neu mit der Materie...

Wenn Ihr nur RPG ohne ILE macht, wirds zum Teil nicht gut optimiert sein, da hilft nur RAM (sagen wir mal 1GB pro 5-6 User aus dem Bauch raus) und eben viele Platten. Da ich nicht weiss, wie viele User Ihr habt, ists schwierig, bei unter 40 wäre eine 515 mit 8*70 noch brauchbar, darüber eine 525 mit zwe internen Platten und einem externen 5095 und 12*70. Passende Controlleure dazu, und man hat schon was anständiges.
CPU-Leistung ist bei den i5 in der Regel schon gut vorhanden.
Aber wie immer: alles IMHO und unter Vorsicht und sowieso IANAL ;-)

Es wird schwer, hier im Forum detaillierte Fragen zu beantworten ohne genaueste Informationen. Und von irgendwas will man ja auch leben <g>

-h

BenderD
04-09-08, 22:29
... wird montiert hört sich nach bestellt an, dann ist es eh zu spät und es hilft allenfalls beten, was ich nicht kann und Gottvertrauen, was ich nicht habe. Ansonsten ist das immer bei gegebener Workload die Frage, wo meine vorhandene Hardware meine vorhandenen Applikationen am ehesten am rennen hindert. Bildlich gesprochen hilft es nix, wenn du einen Ferrari und 20 Tonnen zu transportieren hast, wenn du dir ein Auto mit mehr PS kaufst. Also vor dem Kauf ist eigentlich messen angesagt, wo die Flaschenhälse sind und da verstärkt man sich gezielt und auf Vorrat kaufen hilft eher dem Verkäufer.

D*B


Nochmals Moin Moin!

Also die Überschrift sagt es eigentlich
schon. Unser System, eine i5 V3 ist momentan manchmal etwas lahm in Punkto Batchjobs, aber eine neue Maschine steht ins Haus und wird im November 2008 montiert.

Die neue Maschine hat zwar eine grössere
CPU und mehr RAM aber ich frage mich
nach dem bisherigen Studium des OS/400 ob das wirklich der Punkt ist
wo man die Verarbeitungsgeschwindigkeit wesentlich erhöhen kann. Unmöglich
wird es jedoch sein alle Jobs zu optimieren, da gibts kein Budget und
keine Freigabe, aber angesichts dessen,
daß wir eine neue Maschine bekommen,
könnten wir ja auf bestimmte Dinge achten.

Nach meinem Eindruck scheint sich beim
OS/400 Performancemässig im Hardwarebereich das meiste mit einem
sehr schnellen Disksubsysten herrausholen zu lassen.

Gerade als Assembler und Lowlevel
Programmierer auf 68er und Intel x86
Blech scheint die CPU und der RAM
immer Ewigkeiten warten zu müssen bevor von dort die Daten angeladen wurden. Kann einer gute Komponenten
empfehlen die wir noch bei der Bestellung berücksichtigen können und die in der Praxis nennenswert was gebracht hätten?

ps: Bitte keine Google Empfehlungen,
denn wie Google funktioniert weiß ich schon selbst ein weilchen.

LG PMV

Fuerchau
05-09-08, 08:09
Manchmal ist es sinnvoller mehr kleinere als wenige große Platten zu nehmen (Parallelität der Zugriffe), aber bei der AS/400 hilft immer RAM ohne Ende, da damit wesentliche Daten einfach im Speicher vorgehalten werden.

Und wenn man von den CPW-Werten ausgeht, so kannst du ca. 3-5 CPW per parallelem Dialog-User ausgehen.
Beim Batch ist das wieder eher uninterressant.
Es sei denn, du hast ClientServer-Applikationen, deren Workload i.W. im Batch stattfindet.

Ansonsten muss man da (wie immer) Dieter zustimmen, ohne Analyse der Prozesse kann man eh nur raten.
Eine pauschale Aussage wie bei Windows-Büchsen gibts da einfach nicht.

BenderD
05-09-08, 08:39
zur Ergänzung vielleicht noch:
@Platten: da gabs immer ein paper disk arm requirements (google fragen) das Anforderungen für CPU/IO balancierte Systeme benennt.
@messen: relativ einfach lässt sich für Batch Jobs aus den Start Ende messages (DSPLOG MSGID(CPF1100) ) ermitteln ob diese IO oder CPU bound sind
@Windows: es wäre um dieses Umfeld besser bestellt, wenn es professioneller administriert würde (gilt umgekehrt auch für AS/400: je mehr oopsNerv, desto mehr Probleme!)

D*B


Manchmal ist es sinnvoller mehr kleinere als wenige große Platten zu nehmen (Parallelität der Zugriffe), aber bei der AS/400 hilft immer RAM ohne Ende, da damit wesentliche Daten einfach im Speicher vorgehalten werden.

Und wenn man von den CPW-Werten ausgeht, so kannst du ca. 3-5 CPW per parallelem Dialog-User ausgehen.
Beim Batch ist das wieder eher uninterressant.
Es sei denn, du hast ClientServer-Applikationen, deren Workload i.W. im Batch stattfindet.

Ansonsten muss man da (wie immer) Dieter zustimmen, ohne Analyse der Prozesse kann man eh nur raten.
Eine pauschale Aussage wie bei Windows-Büchsen gibts da einfach nicht.

pmvstrm
09-09-08, 12:50
Hallo,
danke für deine Antwort.
Kannst Du mir genau sagen wie ich das herrausfinde mittels CPF1100?

Ich bekomme da jede Menge Jobs angezeigt aber eine Info hinsichtlich CPU oder Platten bound finde ich einfach nicht.

Gruß, P

BenderD
09-09-08, 12:58
du hast darin die Job Beginn und Jobende messages, die man über Jobnummer einander zuordnen kann. Die Completion message sagt dir wieviel CPU Sekunden der Job verbraucht hat und aus Beginn und Ende kann man die Laufzeit ermitteln.
Jetzt weiß man folgendes:
- wie hoch war der CPU Anteil an der Laufzeit
- wenn keine Wartezeiten oder Überlast vorgelegen hat, dann ist der Rest fast komplett I/O Zeit
- setzt man die Leistung der neuen Prozessoren (bei RPG/CL single CPU, da bringt die Anzahl erst mal nix)) in Relation zur vorhandenen, so hat man einen guten Näherungswert, wieviel so ein Job mit der neuen CPU schneller wird, den man als Ausgangspunkt für weitere Untersuchungen nehmen kann, wenn denn der Job bedeutend oder kritisch ist.

D*B


Hallo,
danke für deine Antwort.
Kannst Du mir genau sagen wie ich das herrausfinde mittels CPF1100?

Ich bekomme da jede Menge Jobs angezeigt aber eine Info hinsichtlich CPU oder Platten bound finde ich einfach nicht.

Gruß, P