-
Performance-Problem Datenbank
Hallo,
ich habe ein großes Performance-Problem.
Situation :
-Physische Datei mit ca. 140 Mio. Datensätzen soll reorganisiert werden.
-18 logische Files hängen an der Datei
-der Reorg-Lauf mit RPG-Programm, das eine der 18 LF liesst und dann mit delete
löscht hat in 41 Stunden ganze 5 Mio Sätze geschafft !!??
Wer hat Erfahrungen mit solchen Datenmengen ?
Die Dateien haben (bewusst vom Entwickler so implementiert) den Parameter FRCRATIO=1 - kann dieser Parameter solche Auswirkungen haben ?
Ich bin für jeden Hinweis dankbar !
-
FRCRATIO=1 erzwingt für jeden Write/Update/delete ein sofortiges physisches Schreiben.
Da es sich hier um einen Delete-Lauf handelt, könnte ggf. vor Aufruf des Programmes ein OVRDBF für die LF gemacht werden.
Ich habe dies bei einer anderen Anwendung genauso gemacht und konnte damit die Laufzeit des Programmes von 18 Stunden auf 50 Minuten reduzieren (es waren allerdings mehrere Datei betroffen).
Ein CPYF wurde von 5 Minuten auf 5 Sekunden beschleunigt.
-
Danke für die schnelle Antwort !
Der FRCRATIO-Parameter hängt sowohl an der PF als nach an den LF.
Indem ich ein "delete" auf eine der 18 LF mache, muss doch auch in der PF und den anderen 17 LF gelöscht werden !?
Muss demzufolge auch ein OVRDBF auf alle LF und die PF gemacht werden ?
Mit freundlichen Grüßen
G. Gottlöber
-
Nein, da ein OVRDBF nur auf tatsächlich vom Programm geöffnete Dateien wirkt.
Da es den FRCRATIO sowohl bei LF als auch bei PF gibt, kann eben von Fall zu Fall bzw. Open zu Open entschieden werden.
-
Eine Möglichkeit wäre alle für das REORG nicht benötigten LF mit RMVM zu deaktivieren und nachhher mit ADDLFM zu aktivieren.
-
Bei der automatischen EURO-Umstellung habe ich mit folgendem OVR gute Erfahrung gemacht:
OVRDBF FILE(&FILET) TOFILE(&LIB/&FILE) MBR(*ALL) +
NBRRCDS(1000) SEQONLY(*YES 1000)
-
Dafür eignet sich ein "CHGLF xxx MAINT(*IMMED/*DLY) " besser.
Durch FRCRATION(*NONE) steigt aber auch die Performance bezüglich der Zugriffspfade.
-
Zitat von Fuerchau
Dafür eignet sich ein "CHGLF xxx MAINT(*IMMED/*DLY) " besser.
Durch FRCRATION(*NONE) steigt aber auch die Performance bezüglich der Zugriffspfade.
Eindeutig die bessere Lösung. Mit MAINT(*DLY) die Zugriffspfade quasi "abhängen" und nach dem Reorg wieder anhängen. Es sei denn, die Zugriffspfade werden für den Reorg benötigt. Ansonsten empfiehls sich ggf. der andere Weg. Nämlich kopieren der "alten" Datei, löschen der neuen und nur ein hineinkopieren der eigentlich benötigten Datensätze. Dabei mit den logischen genauso verfahren, da nicht für jeden Write eine Aktualisierung der Zugriffspfade erfolgt.
-
Ein OVRDBF ... SEQONLY überschreibt NICHT einen FRCRATION(1) !
Man beachte dann mal die Hinweise im Joblog.
Es gibt da nämlich die Hinweise "SEQONLY von X in 1 geändert".
Wenn in RPG/LE z.B. eine reine O-Datei geöffnet wird, versucht der Compiler die Datei geblockt zu verarbeiten.
Hat die Ausgabedatei aber einen FRCRATION(1) taucht automatisch obige Meldung auf und SEQONLY wird ignoriert.
NBRRCDS funktioniert auch nur, wenn die Datei in Eingangsfolge verarbeitet wird, also bei Schlüsselverarbeitung die Satzreihenfolge mit der Schlüsselfolge übereinstimmt (gilt heute eigentlich auch eher selten).
Ansonsten wird dieser Parameter nämlich auch ignoriert.
NBRRCDS(1000) kann hier ggf. zu Verlangsamung führen wenn das System durchaus größere Blocklängen erlauben würde.
-
Du hast recht. Bei der EURO-Umstellung sind die Dateien auch aus dem zweiten Grund in Eingangsfolge verarbeitet worden, weil es Ausnahmefälle gab, wo im Primärschlüssel der Betrag war und sonst ein Satz mehrmals drangekommen wäre.
-
Ich habe auch folgende Erfahrung gemacht:
Wenn man eine grosse Datei durchlesen muss und nur wenige Sätze zu ändern sind, ist es wesentlich schneller, mit einer Input-Datei die Daten zu lesen und den Update über eine zweite Update-Datei zu machen(LF).
-
Hallo.
Also auch wir hatten das oben geschilderte Problem. Wir sind folgendermaßen vorgegange (vielleicht ein bisserl umstaendlich, hat aber gefunzt).
Wir haben eine Leer Kopie der PF in eine anderen Lib gestellt und dann alle LF´s hinzugefügt (Vorischt auch die JOIN Dateien müssen mit).
Danach haben wir dann die LF´s in der Echtumgebung gelösht und den Ratio auf *none gesetzt.
Danach den Reorg laufen lassen.
Danach die LF´s aus der anderen Lib wieder in die Echtumgebung kopieren und den Ratio wieder auf 1 setzen.
Auf Wiedersehen aus dem hohen Norden
The Devil
Similar Threads
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 26-10-06, 10:07
-
By ChrisX in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 11-10-06, 15:31
-
By Flappes in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 06-10-06, 08:39
-
By itec01 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 16-09-04, 18:38
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