[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2012
    Beiträge
    4

    SMP (Symmetric Multiprocessing), QAQQINI Probleme/Erfahrungen

    Hallo,

    wir wollen SMP (symmetric multiprocessing) auf unserer AS400 (V6R1) bewusst einsetzen bzw. nutzen und führen jetzt
    diverse Tests durch um dies zu bewerkstelligen (mittels CHGQRYA bzw. ändern der QAQQINI). Das Lizenzprogramm ist installiert und aktiviert. Prinzipiell wollen wir den Indexaufbau
    parallelisieren wenn große Datenmengen zB. mittels CPYF oder ähnliche Methoden umkopiert werden.

    Hier gibts ein Dokument dazu: Process your DB2 for i indexes in parallel

    Ein Test sieht zB. wie folgt aus:

    1) Anlegen einer leeren physischen Datei mit ca. 10 logischen Dateien in einer Bibliothek (MYLIB2)

    2) Anschließend submitten wir einen Job der ein einfaches CL aufruft welches folgende Befehle ausführt:

    Code:
           
    CHGQRYA  DEGREE(*OPTIMIZE) /* Nutzung von SMP (auch *MAX möglich) */
    
    CPYF FROMFILE(MYLIB1/TST020XX) +
            TOFILE(MYLIB2/TST020XX) +
                MBROPT(*REPLACE) +
                CRTFILE(*NO)

    Um die "Verbesserungen" vergleichen zu können haben wir das CPYF ohne den vorherigen CHGQRYA Befehl im CL ausgeführt. Die Läufe ohne diesen Befehl bzw. ohne die optimierung waren leider durchwegs schneller, dies konnten wir jetzt nicht wirklich nachvollziehenwieso das passiert. Jetzt haben wir auch schon etwas recherchiert und nachgeforscht und haben gehört das der CPYF Befehl die SMP Einstellungen einfach ignoriert bzw. nicht unterstützt.

    Meine Frage: Setzt ihr SMP ein, was sind eure Erfahrungen und wie verwendet ihr es?

    Vielen Dank schon mal,
    lg christoph

  2. #2
    Registriert seit
    Feb 2009
    Beiträge
    391
    Vielleicht ist die Festplatte einfach nur nicht schnell genug. Zuviele IOs oder eine zu hohe Disk Utilisation kann ja schließlich nicht von einem zweiten CPU aufgefangen werden.

  3. #3
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    So wie ich das verstanden habe, bringt SMP vor allem im Zusammenhang mit SQL, Open Query, Query, Index Creation und Maintenance, sowie CPYFRMIMPF und RGZPFM etwas.

    >> HLL native I/O is not enabled.

    (Schulungsunterlagen SMP von IBM)

    Da müsstest Du die Versuche schon mit SQL machen.
    kf

  4. #4
    Registriert seit
    Feb 2009
    Beiträge
    391
    Da bieten sich speziell Joins an. Und wenn du vorher noch den debugger startest, dann sieht man schln im Joblog was die Query Optimization im Hintergrund macht.

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Zitat Zitat von lch_ Beitrag anzeigen
    Prinzipiell wollen wir den Indexaufbau parallelisieren wenn große Datenmengen zB. mittels CPYF oder ähnliche Methoden umkopiert werden.
    Wenn ihr die Zugriffspfade löscht und anschließend wieder anlegt (sofern das bei euren Abläufen geht), ist das vermutlich schneller als jeden Datensatz von der Datenbank einzeln in die Zugriffspfade einsortieren zu lassen.

  6. #6
    Registriert seit
    Feb 2009
    Beiträge
    391
    Genau so:
    CHGPF MAINT(*DLY) ausschalten
    CPYF FROMRCD(1) sequentiell kopieren
    CHGPF MAINT(*IMMED) einschalten

    Ist meiner Erfahrung nach die schnellste Methode.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Und wenn man noch ein wenig den Link nachliest, dann ist z.B. REUSEDLT(*YES) beim CPYF schädlich, da dann SMP auch wegfällt. REUSEDLT(*YES) ist bei SQL-Tables im Übrigen per Default eingestellt.

    Um also den CPYF zu beschleunigen sollte man halt (wie oben beschrieben)
    - alle LF's und die PF die Maintanance abschalten
    - REUSEDLT(*NO) setzen
    - dann erst kopieren
    - Maintanance und REUSEDLT(*YES) wieder setzen

    Da SMP im Wesentlich auf Index-Aufbau zielt bringt das bei Select's dann nichts, wenn vorhandene Indizes verwendet werden können.
    Ein temporärer Index sollte sowieso vermieden werden, da dies auch bei SMP die Abfrage verlangsamt.

    Was SMP dann noch wirklich bringt weiß ich auch nicht, da die Parallelität eher durch viele Abfragen verschiedener Job's gewährleistet ist als durch eine einzelne Abfrage eines einzelnen Job's.

    M.a.W.: nur eine Geldmaschine für die IBM.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... dem kann ich nur vehement widersprechen! Bei Bulk SQL Skripten ist das in vielen Fällen der Bringer, wenn man die entsprechenden Hardware Ressourcen hat!

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    M.a.W.: nur eine Geldmaschine für die IBM.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Aber Bulk-SQL's sind in einer Anwendung doch eher die Ausnahme.
    Bei ein paar hundert oder tausend Insert's merkt man das auf der AS/400 fast gar nicht.
    Im Mehruser/-job-Betrieb kann ich durchaus ohne SMP 20.000 Insert's / Sekunde oder mehr erreichen (Beispiel CPYF).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... ich rede da von Tables mit 1000 Mio Sätzen, dynamisch generierten SQL Zugriffen (Stichwort DWH) und etlichen Millionen Transaktionen, die man unterbekommen will und Batchjobs, die in solchen Umgebungen mit minimalster Ressourenbelastung stundenlang vor sich hindümpeln; da kann die Investition in das Parallel Database Feature eine für den Kunden außerordentlich lohnende Maßnahme sein.

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Aber Bulk-SQL's sind in einer Anwendung doch eher die Ausnahme.
    Bei ein paar hundert oder tausend Insert's merkt man das auf der AS/400 fast gar nicht.
    Im Mehruser/-job-Betrieb kann ich durchaus ohne SMP 20.000 Insert's / Sekunde oder mehr erreichen (Beispiel CPYF).
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #11
    Registriert seit
    May 2012
    Beiträge
    4
    Hallo,

    danke schon mal für die ganzen Rückmeldungen. Bei meinen derzeitigen Tests handelt es sich noch um PF/LF Files, also keine SQL Tables und REUSEDLT ist auf *NO gestellt. Ich werde mal diesen Ansatz verfolgen:

    Code:
    CHGPF MAINT(*DLY) ausschalten
    CPYF FROMRCD(1) sequentiell kopieren
    CHGPF MAINT(*IMMED) einschalten

    Anschließend baue ich mir noch ein Testszenario mit SQL Tables und werde testen ob das SMP hier dann greift und was es bringt.

    Danke schon mal, lg Christoph

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das CPYF scenario ist für diese Art Tests ungeeignet. Ein Datenbankfeature kann man nicht mit einer Betriebssystem Operation evaluieren (CPYF mit Replace braucht die Tabelle exclusiv, Änderung des maint Parameters ebenfalls).
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. QAQQINI editieren
    By Atomik in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 02-08-11, 12:41
  2. QAQQINI über OLE zuweisen
    By iseries in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 11-03-08, 15:36
  3. Antworten: 3
    Letzter Beitrag: 09-09-05, 00:38
  4. Suche Program DB2 Symmetric Multiprocessing
    By jgtcc24 in forum NEWSboard Server Software
    Antworten: 2
    Letzter Beitrag: 07-07-05, 10:30
  5. Fehlende Trigger für QAQQINI
    By rolemke in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 15-07-03, 13:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •