© Henri Tremblay 2015
Henri Tremblay
Université de la performance: Initiation aux tests
de charge
2
Amateur de
Stratégie TI
Performance
Productivité
Fait de l’Open Source
Aime être utile
Henri Tremblay
Henri Tremblay
3
Agenda
Test de
performance
unitaire
Test de
charge
Test de
rupture
Test de
vieillissement
4
La mesure de performance
doit être au cœur du
processus de
développement
informatique
Notre vision ?
Source : Les géants...
5
PROD
Archi
Dev
Perf
6
PROD
Archi
Dev
Perf
1. Conception
des tests
2. Automatisation
des tests
3. Développement
logiciel
4. Exécution auto-
mat...
7
Archi
Dev
Perf
PROD
DélaiMEP À L’ARRACHE
1. Conception
des tests
2. Automatisation
des tests
3. Développement
logiciel
4...
8
1. Conception
des tests
2. Automatisation
des tests
3. Développement
logiciel
4. Exécution auto-
matique des tests
#1 #2...
9
Premature optimization is the
root of all evil - Donald Knuth
10
Il voulait dire ça:
// Do not use the for(Object o : list)
// because I think it is probably
// slower than doing this…...
11
Code
Mesure
OptimiseLà où
c’est
important
12
LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire
• Ex: le use case de souscription est testé pou...
13
Exécution test unitaire
14
Les performances d’un
système sont une
spécification
fonctionnelle implicite
du système
Notre vision ?
Source : www.art...
15
Cible de performance
Exemples:
Temps d’affichage du détail d’un item: < 200ms
Nombre d’utilisateurs concurrents: 200
16
DÉMO
Exécution test unitaire
17
LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire
• Ex: le use case de souscription est testé pou...
18
DÉMO
Exécution test de charge
19
LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire
• Ex: le use case de souscription est testé pou...
20
DÉMO
Test de rupture
21
LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire
• Ex: le use case de souscription est testé pou...
22
DÉMO
Test d’endurance
23
LES DIFFÉRENTS TYPES DE TEST•1 utilisateur
•1 scénario
•Quelques itératinos
Test de
performance
unitaire
• Nombre espér...
24
Les outils utilisés aujourd’hui
https://jhipster.github.io
https://visualvm.java.net/
https://www.yourkit.com/
https://...
25
@henri_tremblay
henri@tremblay.pro
http://www.montreal-jug.org/
Exemple de benchmark:
http://blog.octo.com/lart-du-benc...
Nächste SlideShare
Wird geladen in …5
×

Confoo 2016: Initiation aux tests de charge

379 Aufrufe

Veröffentlicht am

Quelques bonnes pratiques et outils à utiliser lors de vos tests de charge

Veröffentlicht in: Präsentationen & Vorträge
  • Als Erste(r) kommentieren

Confoo 2016: Initiation aux tests de charge

  1. 1. © Henri Tremblay 2015 Henri Tremblay Université de la performance: Initiation aux tests de charge
  2. 2. 2 Amateur de Stratégie TI Performance Productivité Fait de l’Open Source Aime être utile Henri Tremblay Henri Tremblay
  3. 3. 3 Agenda Test de performance unitaire Test de charge Test de rupture Test de vieillissement
  4. 4. 4 La mesure de performance doit être au cœur du processus de développement informatique Notre vision ? Source : Les géants du Web
  5. 5. 5 PROD Archi Dev Perf
  6. 6. 6 PROD Archi Dev Perf 1. Conception des tests 2. Automatisation des tests 3. Développement logiciel 4. Exécution auto- matique des tests #1 #2 #3
  7. 7. 7 Archi Dev Perf PROD DélaiMEP À L’ARRACHE 1. Conception des tests 2. Automatisation des tests 3. Développement logiciel 4. Exécution auto- matique des tests #1 #2 #3
  8. 8. 8 1. Conception des tests 2. Automatisation des tests 3. Développement logiciel 4. Exécution auto- matique des tests #1 #2 #3 PROD Archi Dev Tests de charge en continue
  9. 9. 9 Premature optimization is the root of all evil - Donald Knuth
  10. 10. 10 Il voulait dire ça: // Do not use the for(Object o : list) // because I think it is probably // slower than doing this… Probably… for(int i = 0; i < list.size(); i++) { Object o = list.get(i); … } Stop guessing dam it!!!
  11. 11. 11 Code Mesure OptimiseLà où c’est important
  12. 12. 12 LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire • Ex: le use case de souscription est testé pour 1 utilisateur et, pour chaque étape du use case, on mesure le temps passé dans les différents composants de l’application Test de performance unitaire • Objectif: mesurer la tenue en charge de l’application sur la population cible • Ex: on simule l’utilisation de l’application par 200 utilisateurs en parallèle pendant 2h Test de charge • Objectif: déterminer les limites de l’application • Ex: on augmente le nombre d’utilisateurs en parallèle sur l’application jusqu’à ce que le taux d’erreurs / les temps de réponse ne soient plus acceptables Test de rupture • Objectif: déterminer la capacité de l’application à fonctionner sur une période étendue • Ex: on simule l’utilisation de l’application pendant 48h, avec une charge constante et égale à la charge moyenne Test de vieillissement
  13. 13. 13 Exécution test unitaire
  14. 14. 14 Les performances d’un système sont une spécification fonctionnelle implicite du système Notre vision ? Source : www.arthursclipart.org
  15. 15. 15 Cible de performance Exemples: Temps d’affichage du détail d’un item: < 200ms Nombre d’utilisateurs concurrents: 200
  16. 16. 16 DÉMO Exécution test unitaire
  17. 17. 17 LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire • Ex: le use case de souscription est testé pour 1 utilisateur et, pour chaque étape du use case, on mesure le temps passé dans les différents composants de l’application Test de performance unitaire • Objectif: mesurer la tenue en charge de l’application sur la population cible • Ex: on simule l’utilisation de l’application par 200 utilisateurs en parallèle pendant 2h Test de charge • Objectif: déterminer les limites de l’application • Ex: on augmente le nombre d’utilisateurs en parallèle sur l’application jusqu’à ce que le taux d’erreurs / les temps de réponse ne soient plus acceptables Test de rupture • Objectif: déterminer la capacité de l’application à fonctionner sur une période étendue • Ex: on simule l’utilisation de l’application pendant 48h, avec une charge constante et égale à la charge moyenne Test de vieillissement
  18. 18. 18 DÉMO Exécution test de charge
  19. 19. 19 LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire • Ex: le use case de souscription est testé pour 1 utilisateur et, pour chaque étape du use case, on mesure le temps passé dans les différents composants de l’application Test de performance unitaire • Objectif: mesurer la tenue en charge de l’application sur la population cible • Ex: on simule l’utilisation de l’application par 200 utilisateurs en parallèle pendant 2h Test de charge • Objectif: déterminer les limites de l’application • Ex: on augmente le nombre d’utilisateurs en parallèle sur l’application jusqu’à ce que le taux d’erreurs / les temps de réponse ne soient plus acceptables Test de rupture • Objectif: déterminer la capacité de l’application à fonctionner sur une période étendue • Ex: on simule l’utilisation de l’application pendant 48h, avec une charge constante et égale à la charge moyenne Test de vieillissement
  20. 20. 20 DÉMO Test de rupture
  21. 21. 21 LES DIFFÉRENTS TYPES DE TEST• Objectif: mesurer la performance unitaire • Ex: le use case de souscription est testé pour 1 utilisateur et, pour chaque étape du use case, on mesure le temps passé dans les différents composants de l’application Test de performance unitaire • Objectif: mesurer la tenue en charge de l’application sur la population cible • Ex: on simule l’utilisation de l’application par 200 utilisateurs en parallèle pendant 2h Test de charge • Objectif: déterminer les limites de l’application • Ex: on augmente le nombre d’utilisateurs en parallèle sur l’application jusqu’à ce que le taux d’erreurs / les temps de réponse ne soient plus acceptables Test de rupture • Objectif: déterminer la capacité de l’application à fonctionner sur une période étendue • Ex: on simule l’utilisation de l’application pendant 48h, avec une charge constante et égale à la charge moyenne Test de vieillissement
  22. 22. 22 DÉMO Test d’endurance
  23. 23. 23 LES DIFFÉRENTS TYPES DE TEST•1 utilisateur •1 scénario •Quelques itératinos Test de performance unitaire • Nombre espéré d’utilisateurs • Plusieurs scénario • 10 minutes et plus Test de charge • Nombre croissant d’utilisateurs • Plusieurs scénario • Jusqu’à rupture (dégradation) Test de rupture •Nombre espéré d’utilisateurs •Plusieurs scénario •Plusieurs heures Test de vieillissement
  24. 24. 24 Les outils utilisés aujourd’hui https://jhipster.github.io https://visualvm.java.net/ https://www.yourkit.com/ https://www.jclarity.com/censum/ http://grafana.org/ https://influxdata.com/ https://www.docker.com/ http://gatling.io
  25. 25. 25 @henri_tremblay henri@tremblay.pro http://www.montreal-jug.org/ Exemple de benchmark: http://blog.octo.com/lart-du-benchmark/ http://brownbaglunch.fr

×