load test & performance profiling
TRANSCRIPT
![Page 1: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/1.jpg)
Architecture Web Comment bâtir des applications ultra performante
avec des tests de charge et l’analyse de processus ?
Hugo DoyonConsultant Application Web & Tech Enthusiast
![Page 2: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/2.jpg)
Qui suis-je ?
Spécialiste en développement d’applications Web ayant +15 ans d’expérience dans le secteur du e-Commerce, des Engins de recherche, des médias et de la Finance
Passionné des technologies et du Surf
[email protected] Ultra-Performante - Tests de charge et l’analyse de processus 2
![Page 3: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/3.jpg)
Qui connait ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 3
Clippy le Trombone a été choisi comme étant la 3e pire invention de tous les temps par la magazine Time en 2010
![Page 4: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/4.jpg)
En informatique …
Application Ultra-Performante - Tests de charge et l’analyse de processus 4
Des fois, ça va pas toujours exactement comme prévu !
Parfois, les technologies utilisées qui n’offrent pas le niveau de performance requis!
![Page 5: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/5.jpg)
Que faire quand on a des Problèmes de performance?
Application Ultra-Performante - Tests de charge et l’analyse de processus 5
Test de charge&
Profiling
![Page 6: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/6.jpg)
Pourquoi les Tests de charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 6
• Diminuer vos factures d’utilisation dans le Cloud
• Tester votre application dans des Conditions réelles
• Réaliser une Opération de sauvetage
Si vous avez du succès avec un projet informatique, c'est pratiquement sûr que vous aurez des problèmes de performance !
![Page 7: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/7.jpg)
Qu’est-ce qu’un Test de Charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 7
Les tests de charges consistent à simuler un très grand nombres d’utilisateurs simultanément sur un système.
Le but recherché par ce type de test est de déterminer le comportement d’une application dans des contraintes d’utilisation réelles ou extrêmes.
![Page 8: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/8.jpg)
Stratégie d’application de charge
Application Ultra-Performante - Tests de charge et l’analyse de processus 8
Load Local : quelques milliers d’utilisateurs virtuels maximum( puissance limité )
Load Test Rig : plusieurs centaines de milliers d’utilisateurs possible (un peu + compliqué à configurer)
Load via Cloud ($) : énormément de puissance de frappe (contraintes firewall & intranet)
![Page 9: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/9.jpg)
Cycle : Tests de charge / Profiling
Application Ultra-Performante - Tests de charge et l’analyse de processus 9
2. Définir objectifs(Utilisateurs, Response Time, %CPU)
4. Analyser résultatsIdentifier problèmesImplanter solutions
1. Écrire scénarios de tests(User Case)
3. Exécuter Test de charge
& Profiling
![Page 10: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/10.jpg)
Type de tests constituant un Test de Charge
Application Ultra-Performante - Tests de charge et l’analyse de processus 10
Load Test
Web TestsUnit Tests
Coded UITests
![Page 11: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/11.jpg)
Comment faire un Test de charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 11
1. Avec Visual Studio, créer un projet Web Performance and Load Test(Visual Studio Ultimate requis)
![Page 12: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/12.jpg)
Comment faire un Test de charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 12
2. Créer un Web Performance Test et enregistrer une session avec le Web Test Recorder
1
2
3
![Page 13: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/13.jpg)
Comment faire un Test de charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 13
Dans les Web Performance Tests les Extractions et Validations Rules sont l’équivalent des Assertions dans les Unit tests
![Page 14: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/14.jpg)
Comment faire un Test de charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 14
3. Créer un Load Test (sera composé de WebTest et/ou Unit Test)
![Page 15: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/15.jpg)
Comment faire un Test de charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 15
4. Configurer initialement votre test de charge avec le Load Test Wizard
1 2
43
Run Load Test
![Page 16: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/16.jpg)
Comment faire un Test de charge ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 16
5. Exécuter le test de charge (Load Test)
![Page 17: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/17.jpg)
À prendre en considération
Application Ultra-Performante - Tests de charge et l’analyse de processus 17
• Base de données utilisée pour générer tests (.mdf vs .xml)
• Simuler (Faker) Active Directory
• SQL Tracing et Profiling
• Think Time
• Export de Fidler vers un « Web Performance Test »
• Points d’extensibilités :• Custom ExtractorRule & ValidatorRule• Plug-in WPT Pré & Post Request• Plug-in monitoring
![Page 18: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/18.jpg)
Analyse de Processus (Profiling)
Application Ultra-Performante - Tests de charge et l’analyse de processus 18
Au même moment que la charge est appliquée, vous pouvez analyser/profiler votre système afin de cibler très précisément où sont les points faibles !
• En local : Analyse > Start Diagnostic Tools Without Debugging > CPU Sampling
• Sur le serveur :Analyse > Attach Process (ex: w3wp.exe)
(Assurez-vous que les .pdb accompagne les .dll / .exe)
• Lors de l’analyse : Call Tree > Hot Path > Right click > View Source
![Page 19: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/19.jpg)
Analyse de Processus (Hot Path)
Application Ultra-Performante - Tests de charge et l’analyse de processus 19
![Page 20: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/20.jpg)
Démonstration Technique
Application Ultra-Performante - Tests de charge et l’analyse de processus 20
![Page 21: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/21.jpg)
Question ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 21
![Page 22: Load test & performance profiling](https://reader036.vdocuments.pub/reader036/viewer/2022081418/55b39ac6bb61eb903d8b4657/html5/thumbnails/22.jpg)
Références
Application Ultra-Performante - Tests de charge et l’analyse de processus 22
Pour me rejoindre : [email protected]