22
Architecture Web Comment bâtir des applications ultra performante avec des tests de charge et l’analyse de processus ? Hugo Doyon Consultant Application Web & Tech Enthusiast [email protected] ViaWebTech.ca

Load test & performance profiling

Embed Size (px)

Citation preview

Page 1: Load test & performance profiling

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

[email protected]

Page 2: Load test & performance profiling

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

À 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

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

Analyse de Processus (Hot Path)

Application Ultra-Performante - Tests de charge et l’analyse de processus 19

Page 20: Load test & performance profiling

Démonstration Technique

Application Ultra-Performante - Tests de charge et l’analyse de processus 20

Page 21: Load test & performance profiling

Question ?

Application Ultra-Performante - Tests de charge et l’analyse de processus 21

Page 22: Load test & performance profiling

Références

Application Ultra-Performante - Tests de charge et l’analyse de processus 22

Pour me rejoindre : [email protected]