Afin de pouvoir simuler la charge d’un système d’information
avec la méthode décrite dans l’article précédent (Cf http://vincentlacroixgraf.blogspot.fr/2014/12/graf-anticiper-de-la-charge-dun-systeme.html),
il faut être en mesure de mesurer la consommation CPU unitaire moyenne des
différents traitements.
Pour cela il est nécessaire de :
- Choisir les objets métiers représentatifs des flux à mesurer.
- Préparer l’échantillon, en notant le nombre d’objets métier utilisés dans l’échantillon
- Choisir l’outil de mesure.
- Être capable de noter l’heure de début et la durée du traitement de l’échantillon.
Les objets métier
représentatifs
Afin d’obtenir une mesure représentant fidèlement la moyenne, il est
préférable de choisir des objets « atomiques », pour lesquels la
charge traitement varie peu d’un objet à l’autre. Par exemple, on choisira de
préférence la « ligne de facture » plutôt que la facture elle-même,
car cette dernière peut contenir un nombre de lignes très variable.
Il faut ensuite, dans l’étude de volumétrie, être en mesure
de dénombrer le nombre d’objets métier qui devront être traités à la cible (Cf.
l’article précédent sur l’utilisation du VAT).
Préparer l’échantillon
Comme dans les sondages d’opinion, plus la quantité d’objets
métier est importante, plus la mesure de la moyenne est fiable. Le nombre
minimal d’objets que l’échantillon doit contenir tourne autour de la
cinquantaine.
Choisir l’outil de
mesure
Suivant l’application considérée, on pourra utiliser :
un outil de monitoring système tel que NMON (LINUX) ou
Perfmon (Windows)
un outil de monitoring applicatif comme Solution Manager de
SAP (Transaction ST03)
Exemple
Dans notre exemple, nous allons utiliser NMON, qui mesure l’activité
des CPU vue par le système d’exploitation. Il faut pour cela effectuer le test
de mesure sur un environnement « silencieux », c'est-à-dire qui est
dédié à la mesure au moment du test. Par exemple on réservera un environnement
de recette ou de développement pendant la durée de la mesure.
NNOM construit un fichier Excel avec plusieurs onglets. l’onglet
intéressant est l’onglet CPU_ALL, qui contient, pour chaque période de temps,
le pourcentage moyen d’occupation des CPU.
NMON peut être paramétré de façon à ce qu’une période de
temps ait une durée d’une seconde. 1% d’occupation est alors équivalent à une
charge d’un centième de seconde sur le CPU.
Rappelons que dans la méthode d’utilisation du VAT présentée
dans l’article précédent, on utilise la milliseconde comme unité de
consommation CPU.
L’obtention, pour chaque seconde de temps de la charge
consommée sur l’ensemble des CPU en milisecondes est fournie par :
%occupation_CPU * 10 * Nombre_CPU
Dans le fichier NMON :
- On crée une variable M_CPU qui contient toutes les valeurs de la colonne CPU% de l’onglet CPU_ALL du fichier NMON.
- On crée une variable M_Heure qui contient toutes les dates de l’onglet CPU_ALL.
- On rajoute l’onglet « Mesure » qui contient les valeurs suivantes (On a dans cet exemple effectué 2 mesures sur un batch de facturation) :
Batch
|
Output
|
Unité O
|
Début
|
Durée
|
Fin
|
Pourcentage CPU
|
Consommation CPU
|
Facturation
|
179
|
Lignes facture
|
28/11/2014
13:15:52
|
43,157
|
28-11/2014
13:16:35
|
123
|
14734,41379
|
Facturation
|
179
|
Lignes facture
|
28/11/2014
13:28:52
|
62,79
|
28-11/2014
13:29:55
|
117
|
14014,41379
|
Le pourcentage d’occupation CPU est calculé par la formule
matricielle :
={SOMME(M_CPU*SI(M_Heure>=[Début];1;0)*SI(M_Heure<=[Fin];1;0))}
La mesure unitaire de l’occupation CPU pour le traitement d’une
ligne de facture est finalement fournie par la formule :
=[Pourcentage CPU]*10*Nombre_CPU/[Output]
On obtient 82 millisecondes de traitement pour une ligne de
facture dans la première mesure, et 78 dans la seconde.
Aucun commentaire:
Enregistrer un commentaire