-
Temp-Datei im Hauptspeicher halten
Wir benutzen verschiedene Dateien die wir in der QTEMP generierten. Um die Performance zuerhöhen möchen wir diese Dateien immer im Hauptspeicher der AS400 halten. Gibt es hier für eine Möglichkeit das man dies z.B. bei der Erstellung festlegen kann?
-
Dafür gibt's den Befehl SETOBJACC.
-
SETOBJACC bringt heute so gut wie nichts mehr, sondern eher im Gegenteil.
Dadurch wird nämlich der Speicher für das normale Paging abgeklemmt und andere Programme laufen dafür langsamer, da das Paging künstlich erhöht wird.
Dies kann wiederum dazu führen, dass der gewünschte Effekt ausbleibt und das Programm sogar langsamer läuft!
Schließlich wird zwar die Datei im Speicher gehalten, der Job zwangsläufig nicht unbedingt.
Hier sollten eher die Zugriffsmethoden geprüft werden.
Insbesonders FRCRATIO sollte bei Dateien in QTEMP auf *NONE stehen.
SETOBJACC bringt nämlich nur beim Lesen und nicht beim Schreiben (geringe)Vorteile.
Wenn schon Performanceprobleme auftauchen ist sowieso schon ein Speicherengpass da, den man nicht durch SETOBJACC verschärfen sollte.
-
 Zitat von Fuerchau
SETOBJACC bringt heute so gut wie nichts mehr, sondern eher im Gegenteil.
Jupp. Zusätzlich wäre vielleicht zu überlegen, die Vorgehensweise mit den Dateien in QTEMP zu überdenken. Wenn die Jobs häufig beendet werden, und somit die Dateien in QTEMP erstellt und wieder gelöscht werden, *und* die Anzahl der Jobs die solche Dateien benötigen recht hoch ist, wäre vielleicht eine permanente Datei mit zusätzlichen Keyfeldern interessant. Das "Entsorgen" einer gut gefüllten QTEMP bei Jobende ist bei einer belasteten Maschine auch nicht ohne...
-h
-
Gerade ausprobiert: Mit SETOBJACC kann man selbst noch auf einer 525 unter V5R4 mit knapp 12 GB Arbeitsspeicher und 32 Platten einem Job beim Lesen einer (logischen) Datei mit etwa 1 Million Datensätzen (und einer Satzlänge von etwa 700 Byte) Beine machen: Der Job benötigte nach einem SETOBJACC POOL(*PURGE) etwa 18 Sekunden, nach einem SETOBJACC POOL(*PURGE) mit anschließendem SETOBJACC POOL(*JOB) nur etwa 8 Sekunden. SETOBJACC POOL(*JOB) selbst benötigte etwa 1-2 Sekunden.
-
 Zitat von Pikachu
Gerade ausprobiert:
Jürgen, was hast Du denn jetzt fix ins RAM genagelt? Das Programm, die gesamte Datei, oder was? Und denk dran, Objekte in QTEMP werden minimal anders behandelt als (grosse) permanente Objekte.
Vielleicht kann Kaufmann auch erklären, wie oft die Dateien erstellt werden, und wie gross sie sind 
-h
-
Ah ja stimmt, das hätte ich vielleicht schreiben sollen, immerhin geht ja beides. Ich habe nur die logische Datei samt Zugriffspfad in den Arbeitsspeicher geholt. Aber so fix ist das ja auch wieder nicht. Sie kann natürlich auch wieder automatisch von anderen Objekten aus diesem verdrängt werden.
Similar Threads
-
By mk in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 21-12-06, 08:56
-
By jo400 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 21-10-06, 17:57
-
By haertl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 30-05-06, 13:36
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 15-05-06, 13:47
-
By PGMR in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 15-06-05, 15:37
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks