IBM i, Gestion des performances

 

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 :

Surveillance, commandes du monde 5250

• DSPLOG, récupération du temps consommé :

DSPLOG (F4 vous offre le choix de la date) , puis aide sur le message de fin de travail (CPF1164)

                        Complément d'informations sur message 

ID message . . . . . . : CPF1164 Gravité . . . . . . . : 00
Type de message . . . : Achèvement
Date d'envoi . . . . . : 25/11/03 Heure d'envoi . . . . : 00:01:27

Message . . . . : Travail 117177/QPM400/Q1PDR arrêté le 25/11/03 à 00:01:27;
temps UC 17; code fin 0

X.
Cause . . . . . : Le travail 117177/QPM400/Q1PDR s'est arrêté le 25/11/03 à
00:01:27 sur un code de fin 0 après avoir consommé 17 secondes de temps UC.


• Autre possibilité, soumission du travail avec LOG(4 00 *SECLVL) et visualisation du fichier QPJOBLOG (même message)

• ENFIN, Nouveauté bien pratique en V6 : ANZCMDPFR

 
Vous lancez cette commande avec le paramètre CMD() contenant UNE commande 
ou le paramètre CMDFILE() faisant référence à un source contenant plusieurs commandes
et vous obtenez (dans la JOBLOG) des informations de performance dans le texte d'aide
 du message CPCC711 ANZCMDPFR command completed successfully

Cause . . . . . :   The request to measure the performance of a single CL
  command or a set of CL commands has completed.
    Total Time Used . . . . . . . . . . . : 2,476
    Total CPU time Used . . . . . . . . . : 1,383
    Synchronous Database Reads  . . . . . : 2
    Synchronous Non Database Reads  . . . : 106
    Synchronous Database Writes . . . . . : 0
    Synchronous Non Database Writes . . . : 129
    Asynchronous Database Reads . . . . . : 40
    Asynchronous Non Database Reads . . . : 1
            
        etc... 

 

Attention,

si vous soumettez plusieurs fois le même traitement, particulièrement réalisant des actions base de données, à partir du deuxième, les temps seront forcement meilleurs par le fait que le système va faire du cache sur les derniers fichiers traités. Il faut soumettre dans un pool mémoire particulier (voir la définition ci-dessous) et passer la commande CLRPOOL

WRKSYSSTS (gestion de la mémoire)


ATTENTION, tous ces écrans vous offrent des moyennes, il faut visualiser des données qui ont au moins 2 minutes .

 

pour lire le WRKSYSSTS, vous devez comprendre la notion de pool mémoire,


il s'agit d'un découpage logique de la mémoire qui sera dédié a un ensemble cohérent de travaux. Cela est réalisé par le jeu des sous systèmes.

Chaque sous système renvoi à un pool mémoire spécifique , la plupart des pools acceptant plusieurs sous systèmes.
(la commande WRKSBS vous montre cela).

un sous système représente donc un moyen de regrouper entre eux des travaux cohérents :

Sauf à faire des choix particuliers, vous verrez (au moins) les pools suivants :

- La taille des pools se gère par WRKSHRPOOL (ou par modification du sous système)


par exemple, on peut créer un sous système AGENCE, réservé aux travaux venant des agences distantes.

CRTSBSD AGENCE POOLS( (1 *BASE) (2 *INTERACT) ) TEXT('gestion des agences')

Ici, le sous système est découpé en deux parties (nommées aussi pool de sous système),

- la première redirigeant vers *BASE (2) , probablement destinée aux petit traitement batch (liste utilisateur, query, ...)

- la deuxième vers *INTERACT (4) pour les sessions 5250.

CRTSBSD AGENCE POOLS( (1 *BASE) (2 1000 2) ) TEXT('gestion des agences')

Ici, le sous système est découpé en deux parties , la première redirigeant toujours vers *BASE , mais la deuxième implémentant un découpage de la mémoire dédié (on parle de pool privé), qui sera numéroté automatiquement lors du démarrage, probablement le pool n° 5.

Ce pool mémoire a un niveau d'activité de 2 : nombre de job ayant le droit de demander de l'UC (prétention à la CPU)


revenons à la commande WRKSYSSTS

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 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 :

si le nombre de travaux actifs est élevé, vérifiez que la taille de la table des travaux est cohérente.

En effet, si elle est sous-dimensionnée (QTOTJOB) elle est incrémenté (QADLTOTJ) au besoin
et cette phase d'incrémentation est consommatrice.

pour vérifier tout cela DSPJOBTBL (F1 pour retrouver les valeurs systèmes concernées)

 

                               Tables de travaux                       AS400    
11/04/12 09:18:35
Structures de travail permanentes: Structures de travail temporaires:
Initiales . . . : 500 Initiales . . . : 200
Supplémentaires : 10 Supplémentaires : 50
Disponibles . . : 46 Disponibles . . : 14
Total . . . . . : 928
Maximum . . . . : 163520


----------------------Postes----------------------
Table Taille Total Disponibles Utilisés Autres
1 958208 928 46 881 1

 

 

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

 

Enfin la commande WRKSYSACT possède un paramètre OUTPUT() qui renseigné à *FILE ou *BOTH provoque une écriture dans QAITMON

 

la commande PRTCATRPT (de 57xxPT1) imprime des statistiques basées sur ce fichier

ou nous retrouvons les différents types d'attente pour les travaux en ayant le plus.

 


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 IBm i à 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)

 

V5R10 , 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éja 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



· 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:


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 IBM Navigator Director (voir plus loin dans ce cours)

 


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

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...






IBM Navigator for i


il s'agit du produit, nouveau en V6, regroupant

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

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


ou bien travailler par collecte

 

Et ensuite changer d'affichage par "sélectionnez une action"

 

Quelques exemples (les titres sont notés en dessous de "sélectionnez une action")


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

  —> Attention à bien défiler en bas d'écran afin de voir tous les labels


Utilisation de l'UC par unité d'exécution ou par tâche

Sur certains graphiques, vous pouvez focaliser sur un travail ou une tâche

 

 

Parmi les nouveautés 7.2 , deux moniteurs, déjà présents dans Gestion centralisée de la version Windows



Moniteur système , permet de surveiller les performances

Le moniteur a été créé



On peut le visualiser dans PDI (Performance Data Investigator)


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




   (cliquez pour agrandir)

Moniteur message , permet de surveiller une MSGQ


Indiquez l'ID message devant constituer événement (Ajout...)


Navigator vous propose une série de message déjà définie


Ensuite, indiquez la commande à exécuter quand l'événement a lieu



Comme avec les moniteurs système, il vous reste à le démarrer

 




   (cliquez pour agrandir)



Enfin cette nouvelle version 7.2 propose aussi une 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 :





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'acceuil de Navigator for i affiche un tableau de bord contenant des informations de performances

 

 



Copyright © 1995,2017 VOLUBIS