IBM i, Sous systèmes

 

Trois éléments peuvent intervenir dans la gestion des performances

pour mesurer ces éléments vous avez à votre disposition quelques outils :

-> commandes natives d'analyse de l'activité:

-> Des outils graphiques intégrés à Operation Navigator :

Intéressons nous ici, plus particulièrement à la mémoire et à sa répartition

Pool mémoire

Découpage logique de la mémoire afin de gérer les conflits de pagination

Deux pools particuliers

 


Sous-systèmes

Regroupement logique de travaux d'un même « genre » afin de mieux :

Les pools dédiés (rares aujourd'hui) sont dédiés à un sous-système, créés en même temps que lui

Les pools partageables (dont *BASE) , peuvent recevoir plusieurs sous-systèmes

Il arrive qu'un sous système soit éclaté sur plusieurs pools mémoire
(on parle alors de pool de sous système)


1ere partie (définition)

 

Regardons la commande CRTSBSD

CRTSBSD 
       
SBSD(QINTER)
POOLS (  (1 *BASE)
         (2 *INTERACT)
      )
TEXT('sous-système interactif')

Ce sous-système a deux parties (2 pools de sous système)

Exemple

Pour le vérifier WRKSYSSTS, puis F11



CRTSBSD 
       
SBSD(DEDIE)
POOLS (  (1 2048 2 *KB)
      )
TEXT('sous-système à pool dédié')


Ce sous-système a une seule partie de 2Go, correspondant à un pool mémoire dédié, avec un niveau d'activité de 2

 

System i Navigator affiche aussi les pools mémoire



et permet (ce qui est difficile en mode caractère) de voir la liste des travaux

Même chose avec navigator for I

 

Le plus simple est aujourd'hui de toujours travailler avec des pools partageables (même si vous ne le partagez pas au départ)


 WHRSHRPOOL


 System i navigator


Taille et niveau d'activité

 

Pour continuer, nous devons revoir une notion élémentaire.

Un job actif consomme-t-il de la CPU ?

Il a plusieurs types d'attente, classés en deux catégories

UN JOB occupant un niveau d'activité est donc un job

Donc la question est : La taille mémoire que je vient d'indiquer permet de stocker des informations pour combien de job Actifs ?

D'où l’intérêt de l'ajustement automatique (QPFRADJ)

   Vous pouvez mettre en place l'ajustement automatique (notre conseil) ET indiquer des préférences (WRKSHRPOOL, puis F11)
  
  les valeurs en blanc sont d'origine

 

2ème partie (table de routage)

Quel pool de sous- système choisir ?

3ème partie (Les entrées)

Mais au fait comment rentre-t-on dans un sous système ?

Nouveaux mécanismes de routage vers les sous-système


4ème partie (surveillance)

EN mode 5250

WRKSYSSTS (gestion de la mémoire)


pour lire le WRKSYSSTS, vous devez comprendre la notion de pool mémoire (vue plus haut)

le taux de pagination global (BD + NON BD) sur le pool machine doit être < à 10 !


Si vous êtes en ajustement automatique, passez la commande WHRSHRPOOL et, rappelez vous, faites F11

                           Gestion des pools partagés 
                                                            Système:   AS400
 Taille de la mémoire
   principale (Mo)  . . . :        3054,28
 Indiquez vos modifications (si admises), puis appuyez sur ENTREE.

                                           ------Pages/seconde------                         -----% taille-----            Unité  Pool        Priorité  Minimale  Maximale  Minimale  exéc   Maximale   *MACHINE         1     10,00       100     10,00     0,00   10,00   *BASE            1     25,00       100      5,00     0,50     200   *INTERACT        2    ..................................................  *SPOOL           2    : vous pouvez ici, fixer des priorités et des    :  *SHRPOOL1        2    :   objectifs à atteindre à QPFRADJ.             :  *SHRPOOL2        2    :                                                :  *SHRPOOL3        2    : N'hésitez pas à mettre une taille minimum      :  *SHRPOOL4        2    :   à QMCHPOOL assez élevée (6 à 10 %)           :  *SHRPOOL5        2    :                                                :                        :................................................:                                                                    A Suivre  Commande  ===>                                                                       

Pour les autres pools, historiquement, il devait être < à 20-25 (maxi). 

Pour une machine récente, calculez plutôt la pagination maximale comme suit :

Interactif 5 + (T x 0,5)
Batch 10 + (T x 2,0)
Où T représente le nombre de Thread actifs.

la documentation V5R40 indique comme base de calcul rapide, par pool :

c*p, ou c est le pourcentage de CPU utilisé
p est le nombre de processeurs de la partition


par exemple

1 processeur à 36 % = 36 de taux de pagination maxi
1,8 processeur (LPAR) utilisé à 80% = 144

fixer à *CALC, les options de pagination  (par F11) si vous avez au moins 100 Mo ( sur les pools BATCH, au moins)
 

 

- la colonne activité maxi, indique elle , le nombre de job chargés en mémoire en même temps.
(un job ayant besoin de traitement, mais qui doit attendre car ce nombre est atteint, est dit inéligible)

-le nombre de job Attente/inéligible doit représenter 10 % maximum du nombre Actif/attente (ne demandant rien => attente écran ou I/O disque)

-la colonne Actif/inéligible représente les jobs que le système a rendu inéligible de manière forcée (tranche de temps maxi consommée)


WRKACTJOB
(travaux consommateur et temps de réponse)

Remarquons :

ces écrans permettent de retrouver les travaux les plus consommateurs ou les plus mauvais temps de réponse.

Touches de fonctions :

 

 

WRKDSKSTS (gestion des disques)

 

cet écran montre le taux d'occupation des disques (l'idéal est un taux de 75 % au maximum)
ainsi que l'activité des bras (% util).Une activité au delà de 50% indique des disques très occupés.



si la répartition n'est pas linéaire (achat de nouveaux disques, par exemple), passez la commande STRASPBAL TYPE(*CAPACITY)

SI certains disques sont plus utilisés que d'autres (achat de disque suivi de l'installation de logiciel)

TRCASPBAL *ON (analyse de l'activité base de données sur une plage horaire significative)
TRCASPBAL *OFF

Puis


STRASPBAL *USAGE

Le système réparti sur l'ensemble de l'ASP un « panachage » de fichiers très utilisés et de fichiers peu utilisés

WRKSYSACT (Commande de Performance Tools, intégrée à l'OS en V6.1)

Cette commande possède deux particularités :

En effet les temps de traitement sont répartis de la manière suivante :

 Traitement CPU Attente CPU
      Longue attente     Attente bloquante

 

Les différents types d'attente :

Il peut alors être intéressant de détailler ces mécanismes d'attente
(l'OS en interne en distingue 268, qui ont ici été regroupés en 32 groupes)


     Détail de l'option 6 sur un travail ou une tâche

 

Outils Windows

Moniteurs

Un moniteur est une analyse graphique et temps réel des performances:



 Indiquez :  - la liste des événement à analyser
             

vous remarquerez :

vous pouvez préciser :



pour gérer les moniteurs, revenez à la fenêtre précédente :



      le bouton vert (représentant une flèche) permet de lancer l'analyse.
      le bouton rouge(représentant un panneau) permet de l'arrêter.


Quand vous démarrez le moniteur, le système vous demande les systèmes  ou groupes de systèmes, devant participer à cette analyse



 Le démarrage effectué, doucle-cliquez sur la ligne pour voir l'analyse.


          l'affichage est alors découpé comme suit :


 ######################################################################### 
 #                                        #  si vous pointez une mesure, # 
 # ....................................   #    vous verrez ici le détail # 
 # :                                  :   #    sous forme d'histogramme  # 
 # :  vos différents graphes          :   #                              # 
 # :      (autant que d'événements    :   #                              # 
 # :                  à analyser)     :   #                              # 
 # :..................................:   ################################ 
 #                                        #                              # 
 # ....................................   #  en cliquant sur une ligne   #  
 # :                                  :   #  de l'histogramme ci-dessus  # 
 # : sur chaque graphe, un point      :   #  vous verrez le détail du    # 
 # :   représente une prise de mesure :   #  job dans cette fenêtre.     # 
 # :                                  :   #                              # 
 # :..................................:   #                              # 
 #                                        #                              # 
 ######################################################################### 


 

 3/ Définition de seuils.
    ---------------------


 il s'agit de définir des actions à entreprendre automatiquement
    lorsque certaines valeurs sont rencontrées


 vous pouvez définir deux seuils :


      1/ seuil critique
      2/ seuil inacceptable


 ou tout autre organisation à votre choix.


 un seuil atteint est montré graphiquement par une ligne rouge


   il vous faut définir, quand considérer un retour à la normale.


par exemple :


seuil critique  = CPU utilisée à plus de 90 % (réinitialisé à moins de 70)
seuil dangereux = CPU utilisée à plus de 97 % (réinitialisé à moins de 91)


on peut associer des commandes IBM i à un seuil atteint.

et vous pouvez utiliser des variables de substitution :



Vous voyez ici, l'influence des seuils (sur une machine très "confortable")


les moniteurs de performance changent en V5R10:

  1. le look a été revu (l'affichage se faisait avant en 2D)
  2. il n'est plus possible de choisir le temps de conservation (c'est obligatoirement 1 heure)
  3. pour un JOB il est possible d'accèder directement à certaines infos (historique, etc...)
  4. pour toutes les commandes OS/400 à passer lors d'un seuil, le bouton INVITE affiche l'invite de la commande.

 

Enfin, quelques améliorations V5R40,  afin de :

  1. proposer une exportation des graphes sous forme d'image (jpeg par exemple)
  2. d'imprimer plus facilement un ou plusieurs graphiques
  3. pour terminer une option très "sympa"


    qui propose de rendre solidaires tous les graphes entre eux
    (si vous vous déplacer de 10 minutes en arrière sur un graphe, les autres graphes se décalent en même temps)

 


 

Collectes de performances

 

Il s'agit de collecter des données de performances afin d'offrir une vision d'ensemble de l'état de la machine.

cela était possible avant grâce aux commandes STRPFRMON/ENDPFRMON qui disparaissent en V5 au profit de cette nouvelle notion de collecte.

Les collectes écrivent dans un seul objet : *MGTCOL (avant il y avait jusqu'à 30 fichiers différents)
Vous pouvez choisir d'écrire dans des fichiers en fin de traitement ou en temps réel.
Les collectes sont plus précises, les points de collectes plus rapprochés (attention aux volumes !!! )

 

Pour lancer une collecte :

·Vous pouvez utiliser l'option 2 du menu PERFORM. Si une collecte est déjà active, on vous affiche l'écran suivant:

 

·Ou lancer les commandes STRPFRCOL / ENDPFRCOL

le paramétrage peux se faire grâce à CFGPFRCOL


les commandes suivantes sont fournies

  • CFGPFRCOL
  • STRPFRCOL
  • ENDPFRCOL
  • CPYPFRCOL
  • SAVPFRCOL
  • RSTPFRCOL
  • DLTPRFCOL
  • CRTPFRDTA, création de fichiers dans QPFRDATA utilisables ensuite par Performance Tool
  • CRTPFRSUM, création de fichiers supplémentaires contenant des données récapitulatives

  • NB les commandes STRPFRTRC/ENDPFRTRC représentent un sous ensemble de l'ancienne commande STRPFRMON
    la commande ENDPFRTRC contient un paramètre DMPTRC( ) qui ,s'il contient *YES, provoque l'écriture des données d'analyse dans des fichiers pour lesquels vous choisirez le nom du membre (MBR) et la bibliothèque (LIB).

    Vous pouvez aussi écrire plus tard, par la commande DMTPTRC.



· utilisez Operation navigator qui permet de consulter les données sous forme de graphiques sans écrire dans aucun fichier.

(depuis Op.navigator)

il vous faudra indiquer ensuite:

  • Si vous souhaitez établir un nouveau cycle au cas ou une collecte serait déja en cours de traitement.

  • A quelle heure établir un nouveau cycle, automatiquement

    rappel: les informations sont stockées dans un seul objet : *MGTCOL (et non plus dans des fichiers), établir un cycle, c'est changer d'objet.


    Avantage, vous pourrez :

    • transférer cet objet sur une autre machine puis passer la commande CRTPFRDTA et traiter ensuite
    • passer la commande CRTPFRDTA avec des paramètres restrictifs (sur la catégorie par exemple)
    •   -> plusieurs fois de suite avec des critères différents
    • etc...

  • Si vous souhaitez utiliser PM/400 (qui permet de conserver des données sur 30 jours et non 7 par défaut)
    ci-dessous, la fenêtre affichée lors d'une demande de visu d'une collecte de plus de 7 jours:

  • Les différentes durées de conservation

  • s'il faut créer les fichiers pendant la collecte. Sinon utilisez la commande CRTPFRDTA plus tard.
    (la commande CRTPFRDTA contient de nombreux paramètres de sélection.)
    ou bien cette option d'operation navigator :


Puis indiquez les données à collecter, ou utilisez un profil (modèle des données à collecter et des intervalles associés).


Vous pourrez aussi le faire avec Navigator for I (version WEB)


Une fois la collecte lancée ou terminée (Attention aux volumes, il faut plus de 10 Mo pour une journée)

ici, un cycle a été créé à 23h00

vous pouvez demander à voir l'historique graphique (click droit)

Choisissez vos critères d'affichage

  • Période
  • Attribut à afficher
  • intervalle
  • Valeur maxi.

la liste des attributs utilisables, dépend bien sûr de vos choix initiaux .

vous verrez sur la partie basse un graphique s'afficher :

Vous pouvez restreindre la durée affichée et vous déplacer en jouant avec la barre verticale.

 

Les points qui vous sont affichés peuvent être:

  • un rond, il s'agit d'une valeur sans détail
  • .
  • un triangle, représente des informations récapitulatives .
  • un carré indique un point fournissant un niveau de détail complet.

information récapitulative (un triangle)

-ici, l'activité disque sur une machine avec 4 disques.

 

informations détaillées (un carré)

-ici, l'activité disque après avoir pointé un disque précis
(le 3).

le détail est dépendant du contexte

- détail sur les E/S pour un disque

- détail sur un job (CPU, priorité)

- etc...

Aujourdhui la version web (Navigator for I) , va sans doutes, prendre la pas.


IBM Navigator for I.


il s'agit du produit, proposé depuis la V6, regroupant

  • Une partie des fonctionnalités d'iSeries Navigator
  • Iseries Navigator Task on the Web
  • Un accès au serveur web d'administration (HTTPAdmin)

il tourne en tant qu'application avec le serveur d'Administration, démarré par STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN)

Il utilise le port 2005, et toute requête vers la racine sur le port 2001 est redirigée vers :



Regardons les principales autres options



IBM Navigator for I : PDI (Performance Data Investigator)

 

  • Option Performance du produit, liée en partie au produit Performances Tools



    Utilisateurs autorisés :
    • Pour manipuler les collectes, il faut faire partie de la liste d'autorisation QPMCCFCN
    • Pour analyser les résultats il faut faire partie de la liste d'autorisation QPMCCDATA


  • Tout est basé sur le service de collecte, comme vu plus haut

    Pour savoir si le service de collecte est actif



Il est important d'avoir des données récapitulative pour le bon fonctionnement de PDI

  • CRTPFRSUM
  • ou mieux CFGPFRCOL CRTPFRSUM(*YES) CRTDBF(*YES)
  • ou cochez les cases suivantes :


  • Le produit propose ensuite
      • une interface pour la gestion des collectes (comme iSeries Navigator)


      • des options d'affichage des données collectées (Études de données)


        Notez "Le plus récent" comme choix de collecte, dans la bibliothèque indiquée

        Avec les derniers niveaux de PTF en 7.1, date et heure sont indiqués dans la liste




        Affichage

        Présentation de l'utilisation de l'UC


      • Le menu affichage propose deux options


        • Contexte


        • Informations système



      • Outils


        L'option Glisser permet, entre autre, de paginer (glisser vers le haut pour voir la page suivante)

        Astuce


        Zoomer une région
        ->

      • Quelques affichages :

        • Vue d'ensemble des attentes (DSPW, LCKW, etc...)


        • Temps de réponse moyen des disques


        • Pool mémoire


        • Vue d'ensemble de l'utilisation de l'UC et des attentes




        • Calendrier permet de voir la consommation CPU sur l'échelle du temps



      • Le menu Action vous propose d'afficher les informations liées


        et ainsi de suite....

        Mais aussi d'exporter l'image (gif, png)


        D'afficher les données sous forme de tableau


        L'interface est la même que pour la HMC :

        • Sélection globale
        • Désélection globale
        • Filtrage, fait apparaître la ligne suivante de gestion des filtres (critères de sélection)
              

          permettant

        • Retrait des filtres
        • Tri, fait apparaître le dialogue suivant de gestion des critères de tri
                
        • Retrait des critères de tri

        et d'exporter au format CSV (ou délimité par tabulation)


        Enfin vous pouvez modifier la requête SQL permettant d'obtenir le résultat affiché




      • Certaines vues proposent un changement de contexte (ici l'UC par JOB permet de limiter à certains travaux)




        Notre serveur Volubis.fr


        Cette nouvelle perspective pouvant être sauvegardée




      • Deux graphes sont proposés par le biais des PTF suivantes
          • 7.2 – SI53771 et SI53772
          • 7.1 – SI53777 et SI53777
          • 6.1 – SI53773 et SI53774 et SI53775
        • Mémoire Utilisée


          Overview




        • par tâche ou par Thread




        • EN 7.2 on vous propose un suivi par réceptacles de mémoire temporaire (Bucket, littéralement seau)


          Select * from SYSTMPSTG permet d'accéder à la mémoire temporaire utilisée, et ceci en mode SQL (SQL as a service)


          l'affichage propose deux type de seaux :

          • global -> espace mémoire commun à l'ensemble des travaux
            • ceux géré par le microcode sont numérotés de 1 à 4095
            • ceux gérés par la gestion des travaux niveau OS sont numérotés de 4096 à 65535
          • propre à un JOB
            • ils sont numérotés à partir de 65536

          Un seau est alloué au démarrage du JOB et le lien perdure pendant la durée de ce dernier.

          Quand le JOB se termine, l'espace est normalement vide et peux donc être alloué à un autre JOB.
          Si l'espace mémoire n'est pas vide, alors il s'agit d'un job n'ayant pas bien fait le "ménage" et l'état est noté *ENDED.


          Structure de SYSTMPSTG dans QSYS2

          BUCKET_NUMBER
          GLOBAL_BUCKET_NAME
          JOB_NAME
          JOB_USER_NAME
          JOB_NUMBER
          BUCKET_CURRENT_SIZE
          BUCKET_LIMIT_SIZE
          BUCKET_PEAK_SIZE
          JOB_STATUS
          JOB_ENDED_TIME

          INTEGER
          VARCHAR(30), si BUCKET global
          CHAR(10)
          CHAR(10)
          CHAR(6)
          DEC(23 , 0)
          DEC(23 , 0)
          DEC(23 , 0)
          VARCHAR(7) *ENDED | *ACTIVE
          TIMESTAMP



          BUCKET systèmes :

          par JOB : (... WHERE JOB_NAME is not null Order by 3 DESC)


          D'ailleurs la mémoire temporaire utilisée par JOB est aussi affichée sur WRKACTJOB et est un critère tri possible (F16)



          et sur le détail d'un JOB (5 / Attributs d'exécution), vous verrez maintenant :

        1. La mémoire temporaire utilisée (comme avant)
        2. le maxima de mémoire temporaire utilisée par ce job



          Vous trouverez les mêmes notions sous Navigator for I

          Système/Etat du système (comme WRKSYSSTS)


          Le bouton "Détail de la mémoire temporaire", vous affiche SYSTMPSTG


          Et la colonne mémoire temporaire a été ajoutée à la liste des travaux


        • Vous retrouvez dans PDI , cette gestion de la mémoire temporaire



          Par JOB


          Par Utilisateur


          Par type de serveur

 



En 7.2, deux moniteurs, déjà présents dans Gestion centralisée de la version Windows, sont ajoutés :



Moniteur système , permet de surveiller les performances

  • Attributs à collecter : CPU, E/S disque, taux d'occupation
  • d'associer à chaque attribut, des seuils d'alerte et des actions quand ces seuils sont dépassés



    En cliquant sur un attribut


Le moniteur a été créé



On peut le visualiser dans PDI


Ou, plus simple, par un clic droit après avoir coché la ligne




   (cliquez pour agrandir)



Enfin cette nouvelle version 7.2 propose aussi un modélisation des données pour étude,

permettant de répondre aux questions :

ET si mon volume de données à traiter double ?

et si j'ajoute un processeur ?

et si j'ajoute deux disques, ai-je un véritable gain ?

 

Pour cela vous devez créer un modèle de traitement par lot (batch) , depuis une collecte :

Vérifiez que les données correspondent à ce que vous voulez analyser

Regardez ensuite dans Modèle de traitement par lot, le détail des données collectées



Utilisation des ressources mesurées, que vous allez modéliser



Et la répartition de la CPU dans le temps (calendrier de la charge mesurée)



Puis,

Utilisez l'option qui permet de voir la liste des modèles

et cliquez droit sur le modèle que vous venez de créer



Dans un premier temps vous devez calibrer ce modèle, soit :

  • Confirmer (ou modifier) la liste de disques collectés.



  • Confirmer ou modifier les propriétés des travaux collectés



Attendez ensuite que l'état passe à Complet



Vous pouvez alors demander à Modifier le modèle



•taux de croissance prévu : (et si ma volumétrie double ?)



•processeur (et si j'en ajoute 1 ?)

•disque (et si j'en achète deux ?)

•charge de travail (et si je baisse la priorité des travaux concurrents ?)

Confirmez

L'état passe à Analyse, puis repasse à Complet

demandez l'étude des résultats :

Enfin en version 7.3 , la page d'accueil de Navigator for I affiche un tableau de bord contenant des informations de performances


 

  • Avec SI62073 et SI62074, Navigator for I utilise http (et non plus https) sur le port 2004
  • Cerise sur le gâteau, Safari fait partie des navigateurs supportés


  • Avec les PTF de Mars 2017 (toujours en 7.3), les historiques graphiques ont évolués


  • Pour offrir un affichage sur une plus longue période (dans de nouveaux fichiers de type *HSTFILE)


    par défaut, 1 mois, mais possible jusqu'à 1 an !


    A condition d'avoir les bons paramètres







  • La vue composite est aussi bien pratique, elle permet un affichage catégoriel



    voici les affichages proposés




  • Vous pouvez maintenant empiler par semaine ou mois

    • Si la période affichée est inférieure à 2 semaines, on empile par jour
    • Si la période est comprise entre 2 semaines et 2 mois, on empile par semaine
    • Si la période est comprise entre 2 mois et 2 ans, on empile par mois
    • Au-delà de 2 ans, on empile par année

      Modification du contexte

      Empilage par Mois:

 



 



Copyright © 1995,2017 VOLUBIS