[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Aug 2011
    Beiträge
    93

    Job Prio des Users ändern?

    Hallo,
    sorry wenn euch die Frage zu banal erscheint oder schon gestellt wurde.
    Gibt es eine Möglichkeit bzw. wie kann ich es bewerkstelligen, das ein Job eines Users eine bestimmte Priorität erhält?
    Ich weiss, das ich im laufenden Job die "Run priority" ändern kann, aber Standardmäsig ist es immer 20 und ich möchte bei diesem User min. 50 oder evtl. noch höher gehen.
    Also wenn mit dem User ein Job gestartet wird dieser automatisch die Run prio. 50 hat.
    Ich dachte es geht in der Job description, jedoch finde ich den Eintrag nicht.

    Vielen Dank
    Gruß
    Manfred

  2. #2
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Hallo Manfred,
    schau Dir bitte mal die zugehörigen Klassen an, da geht das.

    z.b.

    WRKSBSD QINTER
    -> 7 routing entries
    Hier kommt es auf die Vergleichswerte an, Interaktivjobs werden normal mit *ANY behandelt. Also 5 vor den letzten Eintrag, der QCMD mit Vergleichswert *ANY aufruft.
    Hier siehst Du eine Klasse, z.B. QGPL/QINTER
    nun mit WRKCLS QGPL/QINTER und Option 2 rein. Da siehst Du eine Priorität.

    Viele Grüße
    Holger
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

  3. #3
    Registriert seit
    Aug 2011
    Beiträge
    93
    Hallo Holger,
    vielen Dank für deine Erklärung, jedoch bin ich mir nicht sicher ob ich das verstanden habe.
    Ich habe einen User "LWS_User" welcher gestartet durch eine Gui, Jobs ausführt.
    Diese Jobs laufen im Subsystem QUSRWRK/QSYS sind vom Typ PJ
    Wenn ich das nach deinem Beispiel richtig verstanden habe ist die Klasse QSYSCLS50 unter QSYS.
    Dort steht die Prio 50 der Job jedoch hat die Prio 20.
    Wenn ich in den Job WRKACTJOB mit 2 rein gehe, hat dieser dann den Jobnamen QZDASOINIT mit dem User QUSER und einer Prio von 20.
    Was muß ich also tun, das der Job vom User LWS_User immer mit der Prio 50 läuft?

    Vielen Dank
    Gruß
    Manfred

  4. #4
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Hallo Manfred,
    der QZDASOINIT läuft garantiert mit Jobdescription QGPL/QDFTSVR
    WRKJOBD QDFTSVR -> Routing Data QCMDI
    Aaber! Prestarted Jobs haben eine eigene Definition.
    WRKSBSD QUSRWRK
    10 prestart job entries
    suche den Eintrag QZDASOINIT, Auswahl 5
    Klasse suchen, meist QSYS/QPWFSERVER
    Und in dieser Klasse steht 20 drin

    Also entweder die Klasse anpassen (mhm...) oder einen PJ Eintrag anpassen.

    IBM i Workmanagement ist recht komplex ;-)

    -h
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das würde aber alle User betreffen, das würde ich schön bleiben lassen! Die erste Frage ist zunächst: welches Problem will ich lösen und dann erst: wie stellt man diesen oder jenen Unfug an?

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Im Ernstfall tut der QZDASOINIT ja fast gar nichts, also die Prio macht da keinen Unterschied.
    Schlechte SQL's sind da eher das Problem, wenn nämlich Indizes aufgebaut werden müssen. Hier ist anzusetzen, denn Jobprio 50 oder höher ändert in solchen Fällen nicht die Systemlast.
    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

  7. #7
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von BenderD Beitrag anzeigen
    ... das würde aber alle User betreffen, das würde ich schön bleiben lassen! Die erste Frage ist zunächst: welches Problem will ich lösen und dann erst: wie stellt man diesen oder jenen Unfug an?

    D*B
    Das war ja nicht die Frage ;-) Und ganz unter uns - die meisten Klassendefinitionen sind heutzutage per Default eher zweitklassig... und werden meist mit altmodischen Methoden drittklassig umgebaut.
    Aber lassen wir lieber den Thread-Ersteller zu Wort kommen, warum ein User explizit bevorzugt werden soll...

    -h
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    In diesem Fall eher benachteiligt, denn je höher die Prio desto "relativ" langsamer ist der Job.
    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

  9. #9
    Registriert seit
    Aug 2011
    Beiträge
    93
    Guten Morgen,
    und ich dachte, das ist bestimmt ganz einfach
    Nun um das ganze etwas ausführlicher zu erklären:
    Wir betreiben auf der i5 ein ERP System das da heist M3 und ist von der Firma Infor.
    Innerhalb diesem System gibt es die Möglichkeit eigene Masken mit SQL-Abfragen zu generieren und den Usern zur Verfügung zu stellen. Da diese Abfragen zum Teil doch etwas mehr CPU benötigen und dadurch teilweise das System ausbremsen, war meine Idee, ich schraub die Prio runter, damit falls ein anderer "wichteiger" Job kommt dieser bevorzugt wird bzw. der normale Ablauf nicht darunter leidet.

    Die SQL Statements wurden schon soweit durchläuchtet, das unserer Meinung und auch Beraterseitig keine weiter Performance rausgeholt werden kann.

    Ich wollte nun eben für diesen einen User die Prio ändern, nicht für das ganze System oder andere User damit in mitleidenschaft ziehen.

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... wenn denn das ERP komplett über QZDASOINIT zugreift, wäre Holgers Vorschlag der schlechteste, weil er allen schadet und nichts positives bewirkt und der von Robert der, der am wenigsten schadet, weil er nichts bezweckt.
    Selektiv einzugrenzen gibt es nur die Möglichkeit über die Exit Schnittstellen von DB2, oder über Auftrennung der Serverjobs in verschiedene Subsysteme und dann kann man auf SubsystemEbene unterschiedliche eine class mit unterschiedlichen Prios zuordnen. Aber eigentlich gehört das an der Quelle geheilt: am Index Design!!!

    D*B
    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
    Oct 2013
    Beiträge
    175
    Viele Softwarehäuser haben sich für den internen Gebrauch eine Überwachung gebastelt, die, wenn ein Job zu sehr die anderen Leute behindert, die Priorität dieses Jobs heruntersetzt.
    Wenn 1. an den SQL-Statements wirklich nichts mehr zu optimieren ist, und 2. Indizes wirklich nichts mehr helfen, würde ich 3. daran denken, so was auch auf einem Produktivsystem einzusetzen, um nicht immer manuell eingreifen zu müssen.

  12. #12
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von Mr-Ferret Beitrag anzeigen
    Innerhalb diesem System gibt es die Möglichkeit eigene Masken mit SQL-Abfragen zu generieren und den Usern zur Verfügung zu stellen. Da diese Abfragen zum Teil doch etwas mehr CPU benötigen und dadurch teilweise das System ausbremsen, war meine Idee, ich schraub die Prio runter, damit falls ein anderer "wichteiger" Job kommt dieser bevorzugt wird bzw. der normale Ablauf nicht darunter leidet.

    Die SQL Statements wurden schon soweit durchläuchtet, das unserer Meinung und auch Beraterseitig keine weiter Performance rausgeholt werden kann.

    Ich wollte nun eben für diesen einen User die Prio ändern, nicht für das ganze System oder andere User damit in mitleidenschaft ziehen.
    Ganz Einfach ist meinst einfach ganz falsch ;-) Wenn ein SQL viel CPU benötigt, hat das Gründe, die im Design liegen (wie Dieter und Baldur korrekt schreiben). Und wenn jeder User selbst sein Design machen kann (sprich, SQL in bairisch reintippt), wird es lustig. Wenn alle meinen, es ist performancemässig nichts mehr raus zu holen, wird gern mit neuer Hardware gewunken, oder (wie von mir pauschalisiert) mit demokratischer Bestrafung per Priorität. Aber damit ist das Problem ja nicht gelöst.

    Wenn Du nur für einen speziellen User die Prio ändern willst, dann halte Dich an die vorhandenen Vorschläge: CHGJOB wenn möglich. Alternativ ein Scriptle, das mittels WRKACTJOB prüft, was dieser User macht, und wenns ein QZDASOINIT ist mit CPU > 20%, dann eine zwangspause von 3-5 Sekunden (wirkt Wunder) und schlechterer Priorität.

    Kann beispielsweise auf der PUB1.DE ausprobiert werden.

    -h
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

Similar Threads

  1. Anmeldebildschirm ändern, wie?
    By ulli in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 13-08-12, 08:47
  2. QZDASOINIT Job Prio und so...
    By homerun in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 09-11-06, 14:21
  3. MTU ändern bei Perle 594-e
    By sho1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 15-08-02, 11:56
  4. Systemname ändern
    By delphix in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 30-11-01, 14:42
  5. Primärsprache ändern
    By Arbi in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 04-10-01, 08:58

Tags for this Thread

Berechtigungen

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