-
Was genau steht wo auf *FIXED?
Auch wenn die Dateien im Arbeitsspeicher liegen,
werden doch Datensätze gelesen und geschrieben, nur eben schneller.
 Zitat von woodstock99
Ich beobachte dass die Grösse meines SpeicherpoolS kontinuierlich schrumpft obwohl er als *FIXED angegeben ist . Und der Job trotzdem I/Os generiert. Also zumindest laut der Anzeige des Jobs Auswahl 14 . Sollte er doch nicht mehr machen weil die fallen doch dann weg weil die Dateien im Hauptspeicher sind .. Verwirrt bin 
-
die Grosse des *SHRPOOL1 steht auf *fixed .
Hab den Wert auf 2 GB gestellt . Im Joblog steht auch dann schön bei der letzten Datei.
126020K of xxx brought to pool with 376340K unused.
Also noch was übrig . Sollte doch so passen oder ?
Aber die Grösse des *SHRPOOL1 wird fast sekündlich kleiner obwohl ich ein Subsystem erstellt habe , es gestartet habe und dem Subsystem den *SHRPOOL1 zugewiesen habe .
-
Meinst du das *FIXED im WRKSHRPOOL?
Das bezieht sich anscheinend nicht auf die Größe.
Sieh mal in der Hilfe zu den Feldern der Spalte "Definierte Größe" nach.
Wie steht der Systemwert QPFRADJ (Leistungsanpassung)?
-
auf 3 .. Automatic adjustment
heisst dalso das System regelt sich selber .
@Pikachu . Wie setzt man das dann richtig um ?
-
An diesen Schrauben zu drehen macht nun wirklch kaum noch Sinn da die Speicherverwaltung (Paging) doch schon ganz effektiv geworden ist.
Man sollte dann doch schon lieber in die Anwendung schauen, prüfen was die da so treibt und dann dort Verbesserungen durchführen.
Wenn ich mir so per WRKACTJOB die Belastungen ansehe, so frage ich mich bei manchen Programmen wirklich:
CPU 4,4 AuxIO 1592
CPU 32,1 AuxIO 556
CPU 30,3 AuxIO 295
D.h., auch bei viel IO kann das Programm (4,4 Sek) immer noch schnell sein.
Ich hatte mal ein Problem bei einer SQL-Function die ein OPM-Programm aufruft.
Per ODBC kamen so ca. 10 Sätze/Sekunde dann auf den PC.
Nach einer Optimierung (eigenes Caching von Dateizugriffen, Konvertieren in ILE) der z.T. von dem OPM-Programm aufgerufenen Unterprogramme (z.T. Filehandler) kam ich dann auf ca. 150 Sätze/Sekunde. Das ist zwar immer noch nicht schnell aber ist nun mal der Anwendung geschuldet die in dieser SQL-Funktion nun wirklich viel rechnen muss.
Man kann also durchaus die "alten" Anwendungen noch beschleunigen wenn man sie denn analysiert.
-
.. und ganz grundsätzlich zu *FIXED, QPFRADJ und SHRPOOL:
Steht der Systemwert QPFRADJ auf >0, so werden alle SHARED Pools automatisch angepasst, also auch der hier verwendete "*SHRPOOL1".
Möchte man einen Pool definieren, der NICHT vom OS verändert wird, so muss man den selbst definieren (aber NICHt als SHR- sondern als Userpool, also beim CHGSBSD einen tatsächlichen Wert bei "Speichergröße" angeben!).
Nun zum "*FIXED": Das wird oft falsch interpretiert, hat nichts mit fixer Größe oder sonstetwas zu tun.
Anzeigen u. verändern geht in WRKSYSSTS (ASTLVL(*ADVANCED)), dann mit F11 die Anzeige umschalten.
Rechts wird dann der aktuelle Wert angezeigt - und kann auch verändert werden.
Damit kann man nun den "Expert Cache" ein- u. ausschalten.
Standard=*FIXED (also AUSgeschaltet). Stellt man auf "*CALC", so ist der Expert Cache eingeschaltet.
Damit versucht das OS, die Einlesevorgänge zu optimieren - kann besonders bei sequentieller Verarbeitung zu verbesserungen führen.
Hat aber - wie gesagt - absolut NICHTS mit Größenangaben zu tun.
Fazit:
In einen SHARED-Pool mit SETOBJACC etwas hineinzustellen, macht nicht viel Sinn, weil da sofort der PfrAdjuster (QPFRADJ) wieder hineingreift!
-
Und wenn sowieso genügend Speicher für sowas zur Verfügung steht dann wird der Standardcache des OS sicherlich schon ausreichen.
Ich hatte das früher mal (V2R2) verwendet als die Platten noch sehr langsam waren und konnte damit Performance gewinnen. Allerdings hatten wir das ausschließlich auf die Indizes beschränkt.
-
... nur so am Rande vermerkt; bei sequentieller Verarbeitung wird alles nur einmal gelesen, da bringt ein cache nix...
-
Da irren Sie sich, Hr. Bender!
Die Funktion "Expert Cache" funktioniert nämlich so:
Das OS "beobachtet", ob ein Job Daten aus einer Datei in sequentieller Reihenfolge liest.
Ist dies der Fall, dann liefert der Expert Cache den nächsten Datenpuffer von Platte in den Hauptspeicher, noch bevor(!!) der entsprechende READ vom jeweiligen Pgm kommt.
(daher sollte man den Expert Cache auch nur in den Pools einschalten, in denen vorwiegend Batchverarbeitung stattfindet, also *BASE).
Bei den heutigen Platten-Zugriffszeiten rückt dieser "Booster" natürlich immer weiter in den Hintergrund, kann in bestimmten Fällen aber immer noch Einiges bringen.
-
... das ist prefetching, nicht caching und wann und wie das passiert, m.W. nicht wirklich dokumentiert. Davon ab bringt das wenig, da ja grundsätzlich Blöcke geholt werden und das dann maximal pro Block einen synchronous read zum asynchronous read macht. Caching kann erheblich was bringen für Daten, die mehrfach in kurzer Zeit gebraucht werden, für Indexe z.B. aber auch da ist die Wahrscheinlichkeit durch Eingriffe Verschlechterungen zu produzieren nicht aus dem Auge zu verlieren.
D*B
-
Sobald ich Dateien als I-Dateien verarbeite und einen READ statt Chain verwende wird sowieso geblockt gelesen. Somit kann ich durchaus viele 1000 Sätze pro Sekunde verarbeiten.
Schau mal bei WRKACTJOB auf die CPU-Zeit im Verhhältnis zur Anzahl IO's.
Wenn es immer am IO läge müsste ich in 1 Sekunde schon mehrere 1000 IO's gemacht haben.
Meist (wie oben schon gesagt) wird eher lange rungerechnet als großartig IO durchgeführt oder es werden Daten gelesen die auf grund eines Filters nicht relevant sind.
Hier hilft dann eher eine LF mit dem passenden Schlüssel (von mir auch Select/Omit) um diese Sätze gar nicht erst zu lesen.
Manchmal könnte bei solchen Programmen tatsächlich SQL helfen.
-
 Zitat von hel400
Standard=*FIXED (also AUSgeschaltet). Stellt man auf "*CALC", so ist der Expert Cache eingeschaltet.
Damit versucht das OS, die Einlesevorgänge zu optimieren - kann besonders bei sequentieller Verarbeitung zu verbesserungen führen.
... auch die eigenen Beiträge sollte man genau lesen...
das ist halt schnöde falsch!!! bei sequentieller Verarbeitung bringt das wenig (max. 1 Prozent), die "impressive improvements" kann man nur bei Daten erwarten, die häufig gelesen werden.
In dem Sinne war auch der Denkansatz des OP falsch: wenn ich was mit SETOBJACC Speicher resident mache (das ist die Strategie von expert cache an den logischen Endpunkt gebracht!!!), dann nehme ich nicht die größte Datei und keine, die sequentilell verarbeitet wird, sondern suche die mit der höchsten Lesehäufigkeit!!!
D*B
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