Prévision et maîtrise des performances d'un système informatique , livre ebook

icon

347

pages

icon

Français

icon

Ebooks

2022

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
icon

347

pages

icon

Français

icon

Ebooks

2022

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

Dimensionnement et performances d'un système informatique sont deux facettes d'un même problème : obtenir, à moindres coûts, un fonctionnement satisfaisant compte tenu des moyens disponibles et des choix d'utilisation de ceux-ci. Peut-on anticiper les problèmes et donc y remédier avant qu'ils ne surviennent effectivement ? Peut-on orienter les choix à bon escient et en maîtriser les conséquences ? La réponse à ces questions est heureusement positive, même si la prévision demeure toujours un exercice difficile.

Cet ouvrage présente de façon concrète trois approches différentes, mais complémentaires, une méthode mathématique, une démarche expérimentale et une solution par comparaison. L'approche analytique est fortement détaillée. L'accent est mis sur le côté pratique, en explicitant clairement les différentes étapes du processus d'évaluation et en montrant comment s'appliquent les modèles mathématiques, plutôt que de chercher à démontrer toutes les formules. La technique de simulation est illustrée par les caractéristiques de deux produits particulièrement orientés vers la prise en compte des systèmes d'information. Elle est complétée par un exemple simple mais très représentatif. Enfin, l'apport des benchmarks est présenté avec une description des principaux standards dans le domaine et une mise en garde sur les pièges à éviter.


Voir icon arrow

Date de parution

06 septembre 2022

Nombre de lectures

17

EAN13

9782746228580

Langue

Français

Poids de l'ouvrage

7 Mo

TABLE DES MATIÈRES
Avant-propos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PREMIÈRE PARTIE.PRINCIPES ET CONCEPTS. . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1. Définir et respecter des engagements de performance. . . . . . . . 1.1. Qualité dun système opérationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Le critère performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2. Conséquences de mauvaises performances . . . . . . . . . . . . . . . . . . 1.2. La maîtrise des performances dun système . . . . . . . . . . . . . . . . . . . . . 1.2.1. Criticité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2. Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3. Lécueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Rôle dun chef de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Management des risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1. Simplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2. Itérer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3. Activités et solutions pour la maîtrise des performances . . . . . . . . .
Chapitre 2. Performances dun système. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. Caractéristiques dun système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Lattribut performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. Temps de réponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2. Débit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3. Tenue en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4. Aptitude à croître . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5. Taux dutilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.6. Valeurs limites et maximales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
17
21
23242525262627282931323333
373738394141444446
6 Prévision des performances dun système informatique
2.3. Contextes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1. Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2. Régimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3. Niveaux de concurrence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4. Types de transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.5. Facilité dusage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.6. Fonctions dadministration et dexploitation . . . . . . . . . . . . . . . . . 2.4. Dossiers danalyse et de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 3. Maîtriser les performances dun système. . . . . . . . . . . . . . . . . . 3.1. Maîtriser les risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1. Le contrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2. Démarches du tout ou rien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3. Tout se dessine lors de la conception . . . . . . . . . . . . . . . . . . . . . . 3.1.4. Développement incrémental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5. Principales activités. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Prévoir les performances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1. Lapproche intuitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2. Lapproche analytique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3. La simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4.Benchmarkset prototypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.5. Plusieurs approches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 4. Différentes phases du cycle de vie dun système. . . . . . . . . . . . . 4.1. En avant-vente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1. Les exigences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2. Larchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3. Le dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. En phase de conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1. Affinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2. Influence sur les performances . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. En phase de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4. En phase de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5. En phase de maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6. Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5. Règles et recommandations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1. Quatorze idées maîtresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Les dix commandements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1. Connaître parfaitement ses engagements de performance . . . . . . . . 5.2.2. Identifier les traitements concurrents. . . . . . . . . . . . . . . . . . . . . . . 5.2.3. Examiner les temps de reprise au plus tôt . . . . . . . . . . . . . . . . . . . 5.2.4. Identifier au plus tôt et privilégier les fonctions critiques . . . . . . . .
4647484949505151
5353535456585962626466687172
757575777883838486889193
95959696979899
Table des matières 7
5.2.5. Prévoir suffisamment tôt les moyens de mesure . . . . . . . . . . . . . . . 995.2.6. Surveiller les temps daffichage . . . . . . . . . . . . . . . . . . . . . . . . . 1005.2.7. Disposer rapidement dune base de données représentative . . . . . . 1005.2.8. Optimiser, au fil de leau, la base de données par la création dindex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.2.9. Planifier loptimisation des traitements par lots . . . . . . . . . . . . . . 1015.2.10. Prévoir une phase doptimisation . . . . . . . . . . . . . . . . . . . . . . . 1025.3. Neuf principes de conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.3.1. Objectifs mesurables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.3.2. Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.3.3. Focalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.3.4. Factorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.3.5. Proximité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.3.6. Coût * fréquence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.3.7. Partage de ressource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.3.8. Parallélisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065.3.9. Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
DEUXIÈME PARTIE. LAPPROCHE ANALYTIQUE. . . . . . . . . . . . . . . . . . . . . .
Chapitre 6. Une solution mathématique. . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1. Le problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. La méthode analytique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1. Un modèle mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2. Un processus itératif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3. Avantages et inconvénients de lapproche analytique . . . . . . . . . . . . . 6.3.1. Les avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2. Les inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3. Les limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7. Les files dattente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1. Dans la vie courante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1. Charlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2. Le restaurant dentreprise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.3. Le modèle latin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.4. Le modèle anglo-saxon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.5. Autres situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1. Le flot dentrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2. La file dattente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3. Les serveurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3. Représentations schématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1. Nud monoserveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2. Nud multiserveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
107
109110111111112114114115115
117117118118119120121121122123124124124125
8 Prévision des performances dun système informatique
7.3.3. Nuds parallèles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.4. Nud terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.5. Nudbatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.6. Nud délai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4. Types de nud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5. Réseaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1. Réseau ouvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.2. Réseau fermé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.3. Réseau mixte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 8. Principaux résultats de la théorie des files dattente. . . . . . . . . 8.1. Principales variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1. Données en entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.2. Données en sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2. Lois générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1. Loi déquilibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2. Loi de Little . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.3. Temps de résidence et de réponse . . . . . . . . . . . . . . . . . . . . . . . . 8.2.4. Valeurs limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3. Réseaux ouverts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1. Flot monoclasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2. Flot multiclasse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.3. Problèmes fréquents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4. Réseaux fermés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.1. Loi du temps de réponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.2. Méthodes MVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5. Réseaux mixtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 9. Dimensionnement dun système. . . . . . . . . . . . . . . . . . . . . . . . 9.1. Objectifs du dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2. Processus de dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1. Architecture et dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2. Performances et dimensionnement . . . . . . . . . . . . . . . . . . . . . . . 9.2.3. Aptitude à croître et dimensionnement . . . . . . . . . . . . . . . . . . . . 9.3. Méthode de dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1. Décomposer le système en sous-systèmes . . . . . . . . . . . . . . . . . . 9.3.2. Identifier les ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3. Recenser lensemble des opérations sollicitant les ressources . . . . 9.3.4. Déterminer les simultanéités . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.5. Modéliser le système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.6. Calculer les capacités de traitement nécessaires . . . . . . . . . . . . . . 9.3.7. Modèles de calcul pour le dimensionnement dun système . . . . . . 9.3.8. Dimensionner le système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
125126126127127128129129130
131133133134135135136137138139140145147150151152154
155155156156157159160160160161162164164168172
Table des matières 9
Chapitre 10. Evaluation des performances dun système. . . . . . . . . . . . . . 10.1. Objectifs de lévaluation des performances. . . . . . . . . . . . . . . . . . . . 10.2. Processus dévaluation des performances . . . . . . . . . . . . . . . . . . . . . 10.2.1. Modéliser cest simplifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.2. Itérer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.3. Méthodes de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3. Méthode dévaluation des performances. . . . . . . . . . . . . . . . . . . . . . 10.3.1. Synthétiser les résultats du dimensionnement. . . . . . . . . . . . . . . 10.3.2. Identifier les transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.3. Calculer les temps de réponse « à vide » . . . . . . . . . . . . . . . . . . 10.3.4. Calculer les taux dutilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.5. Calculer les temps de réponse en charge . . . . . . . . . . . . . . . . . . 10.3.6. Modèles de calcul pour lévaluation des performances . . . . . . . .
TROISIÈME PARTIE. LA SIMULATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 11. Une solution de type expérimental. . . . . . . . . . . . . . . . . . . . . 11.1. Quest-ce que la simulation ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Types de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3. Une simulation, comment ça marche ? . . . . . . . . . . . . . . . . . . . . . . . 11.4. Avantages et inconvénients de la simulation . . . . . . . . . . . . . . . . . . . 11.4.1. Les avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.2. Les inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.3. Les limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 12. Méthode danalyse des performances par simulation. . . . . . . 12.1. Les principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.1. Simuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.2. Modéliser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.3. Elargir et affiner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.4. Les différentes phases dune simulation . . . . . . . . . . . . . . . . . . 12.1.5. Réutilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2. Le cycle de vie dun projet de simulation . . . . . . . . . . . . . . . . . . . . . 12.2.1. Définition du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.2. Planification des actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.3. Caractérisation de la charge du système. . . . . . . . . . . . . . . . . . . 12.2.4. Conception du modèle du système . . . . . . . . . . . . . . . . . . . . . . 12.2.5. Implémentation du modèle du système . . . . . . . . . . . . . . . . . . . 12.2.6. Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.7. Analyse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.8. Prise de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
175175 176176177178178178179179180180181
185
187189191193195195196197
199199199200202203205206207209210211213215216217
10 Prévision des performances dun système informatique
Chapitre 13. Fonctionnalités dun simulateur. . . . . . . . . . . . . . . . . . . . . . . 13.1. Modline/Arch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.1. Le modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.2. Larchitecture matérielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.3. Larchitecture logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.4. Les sollicitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.5. Le langage de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.6. Les paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.7. Les résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2. SPE-ED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.1. Le modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.2. Exemple de modèle de scénario . . . . . . . . . . . . . . . . . . . . . . . . 13.2.3. Les ressources et les sollicitations . . . . . . . . . . . . . . . . . . . . . . . 13.2.4. Le paramétrage de la demande . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.5. Le paramétrage de la charge . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.6. Les résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 14. Un exemple de simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1. Données du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2. Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.1. Niveau matériel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.2. Niveau logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.3. Application du logiciel sur le matériel . . . . . . . . . . . . . . . . . . . . 14.3. Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.1. Chaîne Ch1 seule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.2. Chaîne Ch2 seule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.3. Chaîne Ch1 puis chaîne Ch2 . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.4. Chaînes Ch1 et Ch2 en parallèle . . . . . . . . . . . . . . . . . . . . . . . . 14.4. Que se passe-t-il si ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.1. Autre répartition des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.2. Accroissement du parallélisme . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.3. Plans dexpérience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
QUATRIÈME PARTIE. LESBENCHMARKS. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 15. Une solution par comparaison. . . . . . . . . . . . . . . . . . . . . . . . 15.1. Quest-ce quunbenchmark. . . . . . . . . . . . . . . . . . . . . . . . . . . .? . 15.2. Unbenchmark, pour quoi faire ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.1. Des données de référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.2. Des données comparatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3. Types debenchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.1. Origine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.2. Niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219221221221222223224224225225225227228230230231
235236237237237241242242242243244245245246247249
251
253254255256259260260261
Table des matières 11
15.3.3. Nature du test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4. Propriétés dunbenchmark. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.5. Eviter les pièges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.5.1. Un seul nombre est insuffisant . . . . . . . . . . . . . . . . . . . . . . . . . 15.5.2. Savoir ce qui est mesuré. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.5.3. Comparer les environnements . . . . . . . . . . . . . . . . . . . . . . . . . 15.5.4. Comparer les utilisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 16.Benchmarksstandard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.Benchmarksde niveau composant . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.1. Whetstone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.2. Dhrystone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.3. SPEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.Benchmarksde niveau système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.1. SPEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.2. SPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.3. TPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 17. Solutions spécifiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.Benchmarksspécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2. Prototypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3. Développement incrémental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CINQUIÈME PARTIE. ANNEXES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe 1. QNM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe 2. Théorie générale des files dattente . . . . . . . . . . . . . . . . . . . . . Annexe 3. PDQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe 4. Produits de simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe 5. Table t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe 6. Organismes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe 7.Benchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bibliographie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
261262264264264265266
267267268269269275275278280
287288289291
295
301303305325329333335339
345
347
AVANT-PROPOS
Le lancement dun nouveau projet informatique est toujours une décision lourde de conséquences. De multiples enjeux sont généralement en cause que lon peut décliner sous la forme dune combinaison de risques. Ces derniers recouvrent notamment des aspects financiers liés aux coûts de lopération elle-même, économiques associés aux retours sur investissement, techniques quant à la faisabilité du système, opérationnels  autrement dit, le service attendu sera-t-il obtenu  et humains concernant les clients, les utilisateurs ou les exploitants.
On ne peut donc entreprendre un grand projet informatique comme on fait un pari. On ne peut se contenter despérer que le système réalisé respecte les exigences grâce ou malgré les effets du hasard ou de la fatalité. Et pourtant, combien de fois entend-on les utilisateurs se plaindre de leur système ? Combien déchecs ont même conduit à labandon pur et simple dun projet ?
Quand un nouvel ouvrage dart tel quun barrage ou un pont est mis en service, dans la quasi-totalité des cas du moins, tout se passe bien. Le barrage résiste aux pressions colossales dues aux masses deau retenues. Le pont ne vibre pas dangereusement ni ne sécroule lorsquon louvre à la circulation et que le flot des véhicules sélance. Et pourtant, comment peut-on en être certain avant lachèvement des travaux ?
Pourquoi devrait-il en être autrement dans le domaine des systèmes informatiques ? Certes, dans ce dernier cas, une erreur nentraîne généralement pas mort dhomme, mais cela ne justifie pas que lon procède en aveugle, en suivant une démarche purement empirique et en se cantonnant à vérifier, a posteriori, si les objectifs espérés sont atteints. Et, dans le cas contraire, pourra-t-on encore remédier aux problèmes et à quel prix ?
14 Prévision des performances dun système informatique
Les causes déchec constatées sont à lévidence de natures multiples, mais on relève le plus fréquemment le manque de spécifications claires et figées, une architecture inadaptée ou des procédures de test insuffisantes. Dautres causes sont plus directement associées au comportement même du système une fois réalisé. De faibles qualités ergonomiques ou de mauvaises performances peuvent rendre lutilisation dun système insupportable voire totalement inefficace.
Il est vrai que chaque nouveau système informatique sapparente à un nouveau prototype. Est-il possible de prévoir ce que sera un système avant sa réalisation complète ? Peut-on anticiper les problèmes et donc y remédier avant quils ne surviennent effectivement ? Peut-on orienter les choix à bon escient en en maîtrisant les conséquences ? La réponse à toutes ces questions est heureusement positive, même si la prévision demeure toujours un exercice difficile. Il ne sagit pas ici de pronostics, de suppositions ou de présomptions mais de démarches rigoureuses, documentées et progressives. Il existe en effet des techniques et des outils pour déterminer et affiner le dimensionnement dun système et en évaluer les performances avant que celui-ci ne soit réalisé.
Dimensionnement et performances sont deux facettes dun même problème : obtenir, à moindres coûts, un fonctionnement satisfaisant compte tenu des moyens disponibles et des choix dutilisation de ceux-ci. A lévidence, les performances ne sont pas le seul critère de choix pour les équipements et larchitecture dun système. En particulier, des contraintes dimplantation géographique et des exigences de continuité de fonctionnement influencent directement les décisions. Cependant, on peut aisément séparer les variables en exprimant comme suit la problématique : pour satisfaire un type dutilisation donné et des performances associées, quelles sont les architectures et configurations minimales acceptables et, dans un second temps, pour un dimensionnement de système préétabli, quelles en seront les performances ?
Selon que lon se place face à un système existant ou, au contraire, que lon se situe dans une phase de projet, les besoins et les solutions diffèrent fortement. Dans la première situation, on est souvent dans une démarche réactive, généralement expérimentale, et les produits ne manquent pas. Ils permettent notamment dorganiser des tests, de générer de la charge, deffectuer et denregistrer des séries de mesures, de représenter lévolution du système dans le temps, de comparer le fonctionnement actuel par rapport à un fonctionnement de référence, de proposer des zones doptimisation, etc. Il ne sagit nullement de négliger ces phases essentielles pour le suivi et lamélioration dun système qui tirent naturellement profit de lexistant, mais elles sont assez bien connues. Cest pourquoi, la description et la tentative de classification de cette multitude de produits, exercice naturellement long et fastidieux, nest pas lobjet du présent ouvrage, dautant plus
Voir icon more
Alternate Text