View Full Version : ODBC Performance
KingofKning
11-10-07, 08:56
Hallo *all,
wir haben bei uns viele Leute mit einer grafischen Oberfläche arbeiten, sodaß für jeden User ein Batch-Job zuständig ist. Hintergrund der Aktion war das wir die interaktive Leistung runterschrauben wollen.
Jetzt haben wir ein Auswertmodul gekauft welches per ODBC die Daten von der AS/400 holt. Der Datenbankjob läuft ja dann auch als Batch, nimmt sich aber soviel CPU das der Rest ins straucheln kommt.
Kann ich irgendwo einstellen das der ODBC-Job eine geringere Priorität hat?
Gruß
Gregor
Hallo Gregor,
es gab einmal diese Möglichkeit unter R510 und ich denke die kann mann immer noch anwenden, aber ich denke so einen Eingriff sollte man sich gut überlegen.
IBM - Change Run Priority of ODBC Jobs at V5R1 (http://www-1.ibm.com/support/docview.wss?rs=0&dc=DB520&dc=D900&q1=priority+odbc+jobs+AND+AS400SUMXXYYZZRCH&uid=nas1802941500b48ab4386256cf0004b44a9&loc=en_US&cs=UTF-8&lang=all)
holgerscherer
11-10-07, 11:34
Kann ich irgendwo einstellen das der ODBC-Job eine geringere Priorität hat?
Der Trick sind auch Subsystem- und Klassendefinitionen. Alternativ hebt man andere wichtige Jobs an. Ich mache hier sowas gern dynamisch.
-h
Hallo,
die spannende Frage ist erst mal, wofür die Ressourcen eigentlich verbrummt werden. Das hört sich nach mangelndem Index Design, schwachbrüstiger Maschine, oder nach der fantastischen neuen Query Engine an (die leider ziemlich buggy ist).
mfg
Dieter Bender
Hallo *all,
wir haben bei uns viele Leute mit einer grafischen Oberfläche arbeiten, sodaß für jeden User ein Batch-Job zuständig ist. Hintergrund der Aktion war das wir die interaktive Leistung runterschrauben wollen.
Jetzt haben wir ein Auswertmodul gekauft welches per ODBC die Daten von der AS/400 holt. Der Datenbankjob läuft ja dann auch als Batch, nimmt sich aber soviel CPU das der Rest ins straucheln kommt.
Kann ich irgendwo einstellen das der ODBC-Job eine geringere Priorität hat?
Gruß
Gregor
holgerscherer
11-10-07, 13:04
die spannende Frage ist erst mal, wofür die Ressourcen eigentlich verbrummt werden. Das hört sich nach mangelndem Index Design, schwachbrüstiger Maschine, oder nach der fantastischen neuen Query Engine an (die leider ziemlich buggy ist).
Dieter, Du weisst doch: im Zweifelsfall kommt alles zusammen ;-)
Ich hatte auch mal einen Kunden, der der Meinung war, eine alte 170er mit 73CPW sollte eine gute SQL-Performance bieten. Angeblich hat ihm das ein IBM-Vertriebler damals gesagt ("Die Maschine reicht für 30 User!").
Meist wird CPU verbraten, und das aus den von Dir genannten Gründen.
-h
KingofKning
12-10-07, 11:41
In diesem Falle ist es so das wohl das Index Design naturgemäß schwachbrüstig ist, da wenn Du ein Auswert-Tool hast mit dem Du nach allen Kriterien auswerten kannst Du naturgemäß nicht sinnvolle Indexe anlegen kannst.
Man könnte dann wohl hinterher schauen welche Abfragen habe ich häufig und sich irgendwie erarbeiten welche Temp. Indicies er erstellt. Wobei ich auf Anhieb noch nicht mal weiß wie das für ODBC-Abfragen rauszubekommen ist.
Habe aber auch noch nicht gesucht
So, schönes Wochende, ich werde jetzt erstmal mit der Bahn in die Schweiz fahren. Wenn ich mich in 2 Wochen noch nicht melde, wißt ihr das ich noch am Bahnhof stehe........
Gruß
Gregor
STRDBMON ist dein Freund...
In diesem Falle ist es so das wohl das Index Design naturgemäß schwachbrüstig ist, da wenn Du ein Auswert-Tool hast mit dem Du nach allen Kriterien auswerten kannst Du naturgemäß nicht sinnvolle Indexe anlegen kannst.
Man könnte dann wohl hinterher schauen welche Abfragen habe ich häufig und sich irgendwie erarbeiten welche Temp. Indicies er erstellt. Wobei ich auf Anhieb noch nicht mal weiß wie das für ODBC-Abfragen rauszubekommen ist.
Habe aber auch noch nicht gesucht
So, schönes Wochende, ich werde jetzt erstmal mit der Bahn in die Schweiz fahren. Wenn ich mich in 2 Wochen noch nicht melde, wißt ihr das ich noch am Bahnhof stehe........
Gruß
Gregor
AS400.lehrling
12-10-07, 13:04
Der Trick sind auch Subsystem- und Klassendefinitionen. Alternativ hebt man andere wichtige Jobs an. Ich mache hier sowas gern dynamisch.
-h
Na da kannst du ihm auch gleich ein konkretes angebot für deinen jobmanager machen:D
Gruß AS400.lehrling
AS400.lehrling
12-10-07, 13:10
In diesem Falle ist es so das wohl das Index Design naturgemäß schwachbrüstig ist, da wenn Du ein Auswert-Tool hast mit dem Du nach allen Kriterien auswerten kannst Du naturgemäß nicht sinnvolle Indexe anlegen kannst.
Man könnte dann wohl hinterher schauen welche Abfragen habe ich häufig und sich irgendwie erarbeiten welche Temp. Indicies er erstellt. Wobei ich auf Anhieb noch nicht mal weiß wie das für ODBC-Abfragen rauszubekommen ist.
Habe aber auch noch nicht gesucht
So, schönes Wochende, ich werde jetzt erstmal mit der Bahn in die Schweiz fahren. Wenn ich mich in 2 Wochen noch nicht melde, wißt ihr das ich noch am Bahnhof stehe........
Gruß
Gregor
Weshalb verwendet ihr nicht einfach eine 5250 emu mit automatisierter Benutzeranmeldung auf den PC´s und schreibt euch ein PGM das endsprechende Auswahlmöglichkeiten bietet.
Dann endfällt das problem unsinniger suchindexe, da auf einer referenzdatei beruhender zugriff auf die DB erfolgen kann.
Die Eigendliche such und formatierungs Funktion kann man dabei als Modul realisieren das im batch werkelt, die parameterübergabe kann ja via splf erfolgen die ihrerseits nach erfolgten ausdruck gelöst wird.
Die datenstrondatei der i5 bietet mit sicherheit noch zahlreiche andere möglichkeiten zur zielgerichteten Steuerung.
Gruß AS400.lehrling
Das ist bei SQL aber überhaupt nicht State-of-the-Art !
5250 läuft im Dialog mit Dialog-CPW und ODBC im Batch mit Batch-CPW.
Hinzu kommt, dass due für alles und jedes einen 5250-Dialog machen musst (gut geht auch einfach mit einem Format), aber der Datenaustausch gestaltet sich da als äusserst schwierig.
Warum für ODBC (SQL) etwas neues, fehleranfälliges und wenig performantes entwickeln ?