> Tech > Analyse de statistiques plates

Analyse de statistiques plates

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Après avoir créé les alias SQL, le DBA était prêt à commencer l’analyse. La figure 3 montre un exemple de la jointure SQL utilisée pour produire le rapport Top Ten Programs and Modules à partir des données stats PEX collectées. Examinons les parties les plus importantes du code de la

figure 3.

JOBSUMMARY. C’est une Common Table Expression qui est une sorte de vue temporaire contenant une seule ligne représentant le thread d’application du job soumis à l’analyse.

QTSTIME. Cette colonne fait partie de l’enregistrement JOBSUMMARY et représente le temps d’exécution du job, en secondes. Cette valeur participe au calcul « % Of Clock time ».

QTSMI. Un « Y » dans cette colonne indique le thread d’application du job par opposition à un thread de tâche système fonctionnant pour le compte de ce job.

Programme Module Procedure. C’est une concaténation de trois colonnes provenant du fichier QAYPEPROCI ou de deux colonnes provenant de la table QAYPEMICPX, selon le type de module (QSTPTY). Un « M » dans cette colonne indique un programme d’application ou un module du système d’exploitation i5/OS. Un « C » indique un module d’instructions MI Complex. Le DBA a adopté cette technique pour utiliser une colonne unique, quel que soit le type d’enregistrement.

Time Information. Ces colonnes contiennent le temps de CPU consommé et le temps Clock écoulé pour chaque Program Module Procedure. Les nanosecondes sont converties en secondes. Le temps Inline est le temps direct utilisé par le programme. Le temps Cumulative (Cume) est le temps accumulé utilisé par le programme et par tous les programmes appelés dans la hiérarchie de ce programme.

CROSS JOIN. Comme la table JOBSUMMARY contiendra un enregistrement unique, il est joint à tous les enregistrements dans la table STATS_NIGHTLY101.

Row Selection. Seuls les modules du système d’exploitation IBM seront sélectionnés pendant l’exécution de la requête. Cela se fait en sélectionnant les types de modules égaux à « M » et qui se trouvent dans la bibliothèque QSYS. En outre, QCMD est exclu parce que c’est le programme initial appelé pendant le démarrage du job. Son temps cumulé sera presque égal au temps d’exécution total du job.

Le tableau de la figure 4 montre les résultats des instructions SQL de la figure 3 (certaines colonnes ont été éliminées). Le Total Elapsed Time (non montré) pour le job NIGHTLY1 a été de 9 148 secondes, soit environ 2 heures et demi. QDBGETKY a représenté 48 % du temps d’exécution global ! Il a été appelé 57,8 millions de fois pendant l’exécution de la session. De son côté, il a adressé 104,8 millions d’appels aux modules MI Complex. Le DBA savait, grâce aux renseignements de la section précédente, qu’il s’agissait d’appels adressés à *SETCR et *RETDSEN. Il a pu vérifier par un simple changement à l’instruction SQL :

WHERE — MI Complex Modules B.QSTPTY = ‘C’

Le tableau de la figure 5 contient le résultat de l’exécution SQL après ce changement (là aussi, plusieurs colonnes ont été éliminées). Seuls les temps Inline sont montrés parce que les modules d’instructions MI Complex sont les entrées de plus bas niveau dans la hiérarchie des programmes (autrement dit, les temps Inline et Cumulative sont les mêmes).

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010