SlideShare une entreprise Scribd logo
1  sur  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
Hugo.Doyon@ViaWebTech.ca
ViaWebTech.ca
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
Hugo@ViaWebTech.ca
Application Ultra-Performante - Tests de charge et l’analyse de processus 2
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
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!
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
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 !
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.
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)
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ésultats
Identifier problèmes
Implanter solutions
1. Écrire scénarios
de tests
(User Case)
3. Exécuter
Test de charge
& 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 UI
Tests
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)
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
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
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)
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
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)
À 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
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
Analyse de Processus (Hot Path)
Application Ultra-Performante - Tests de charge et l’analyse de processus 19
Démonstration
Technique
Application Ultra-Performante - Tests de charge et l’analyse de processus 20
Question ?
Application Ultra-Performante - Tests de charge et l’analyse de processus 21
Références
Application Ultra-Performante - Tests de charge et l’analyse de processus 22
Pour me rejoindre : Hugo@viawebtech.ca

Contenu connexe

Tendances

Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...serge luca
 
Confoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeConfoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeHenri Tremblay
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterGuillaume Deshayes
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logicielUSTHB & DELTALOG
 
Faire une app en JS moderne
Faire une app en JS moderneFaire une app en JS moderne
Faire une app en JS moderneRaphaël Boucher
 
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...Cellenza
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec SeleniumSOAT
 

Tendances (7)

Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday...
 
Confoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeConfoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de charge
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
 
Faire une app en JS moderne
Faire une app en JS moderneFaire une app en JS moderne
Faire une app en JS moderne
 
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
 

En vedette

Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010Claude Falguiere
 
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?cyrilpicat
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent TencéAutomatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent TencéAgile Montréal
 
REX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec DockerREX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec DockerYannig Perre
 
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015Search Foresight
 
10 Outils pour sécuriser ses recrutements
10 Outils pour sécuriser ses recrutements10 Outils pour sécuriser ses recrutements
10 Outils pour sécuriser ses recrutementsHR SCOPE
 
A/B Testing pour Google Shopping avec Lengow
A/B Testing pour Google Shopping avec LengowA/B Testing pour Google Shopping avec Lengow
A/B Testing pour Google Shopping avec LengowLengow
 
Barometre emploi jobtransport_sept2013
Barometre emploi jobtransport_sept2013Barometre emploi jobtransport_sept2013
Barometre emploi jobtransport_sept2013emploi
 
20 nombres de power point 2013 compu 2.
20 nombres de power point 2013 compu 2.20 nombres de power point 2013 compu 2.
20 nombres de power point 2013 compu 2.robertoMonroy
 
Gérer sa-présence-digitale-avec-twitter
Gérer sa-présence-digitale-avec-twitterGérer sa-présence-digitale-avec-twitter
Gérer sa-présence-digitale-avec-twitterAstrolab Consulting
 
Catalogue original 1963
 Catalogue original 1963 Catalogue original 1963
Catalogue original 1963grosseconne1
 
Prestigiosa junta directiva honorifica de la mipah pdf
Prestigiosa junta directiva honorifica de la mipah pdfPrestigiosa junta directiva honorifica de la mipah pdf
Prestigiosa junta directiva honorifica de la mipah pdfhomenajearthurhaulot
 
Presentation-AMounem-29-09-2014
Presentation-AMounem-29-09-2014Presentation-AMounem-29-09-2014
Presentation-AMounem-29-09-2014ConsortiumArcMC
 
Lettre député
Lettre députéLettre député
Lettre députégraves146
 

En vedette (20)

Tsung GIS
Tsung GISTsung GIS
Tsung GIS
 
Journée DevOps : Tests de performance en continu
Journée DevOps : Tests de performance en continuJournée DevOps : Tests de performance en continu
Journée DevOps : Tests de performance en continu
 
Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010
 
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
 
Tests de performances
Tests de performancesTests de performances
Tests de performances
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent TencéAutomatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
 
REX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec DockerREX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec Docker
 
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
 
10 Outils pour sécuriser ses recrutements
10 Outils pour sécuriser ses recrutements10 Outils pour sécuriser ses recrutements
10 Outils pour sécuriser ses recrutements
 
A/B Testing pour Google Shopping avec Lengow
A/B Testing pour Google Shopping avec LengowA/B Testing pour Google Shopping avec Lengow
A/B Testing pour Google Shopping avec Lengow
 
Barometre emploi jobtransport_sept2013
Barometre emploi jobtransport_sept2013Barometre emploi jobtransport_sept2013
Barometre emploi jobtransport_sept2013
 
20 nombres de power point 2013 compu 2.
20 nombres de power point 2013 compu 2.20 nombres de power point 2013 compu 2.
20 nombres de power point 2013 compu 2.
 
Gérer sa-présence-digitale-avec-twitter
Gérer sa-présence-digitale-avec-twitterGérer sa-présence-digitale-avec-twitter
Gérer sa-présence-digitale-avec-twitter
 
Nousty 07 web
Nousty 07 webNousty 07 web
Nousty 07 web
 
Catalogue original 1963
 Catalogue original 1963 Catalogue original 1963
Catalogue original 1963
 
Prestigiosa junta directiva honorifica de la mipah pdf
Prestigiosa junta directiva honorifica de la mipah pdfPrestigiosa junta directiva honorifica de la mipah pdf
Prestigiosa junta directiva honorifica de la mipah pdf
 
Presentation-AMounem-29-09-2014
Presentation-AMounem-29-09-2014Presentation-AMounem-29-09-2014
Presentation-AMounem-29-09-2014
 
Picsay 6°c
Picsay 6°cPicsay 6°c
Picsay 6°c
 
Lettre député
Lettre députéLettre député
Lettre député
 

Similaire à Load test & performance profiling

Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1Marc Bojoly
 
Session #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionSession #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionDEFO KUATE Landry
 
Offre Audit et Test De Performance
Offre Audit et Test De PerformanceOffre Audit et Test De Performance
Offre Audit et Test De PerformanceCabinet Openi
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performancepkernevez
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx FranceMarc Bojoly
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...Amazon Web Services
 
JFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZJFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZCedric GAUTIER
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EEAntonio Gomes Rodrigues
 
20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrieLeClubQualiteLogicielle
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...Publicis Sapient Engineering
 
Presentation test de_charge_jmeter
Presentation test de_charge_jmeterPresentation test de_charge_jmeter
Presentation test de_charge_jmetersyloemontpellier
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Cédric Leblond
 
Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Stéphane Traumat
 
20080923 02 - Securité applicative (GDF-Suez)
20080923 02 - Securité applicative (GDF-Suez)20080923 02 - Securité applicative (GDF-Suez)
20080923 02 - Securité applicative (GDF-Suez)LeClubQualiteLogicielle
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1SQLI
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 

Similaire à Load test & performance profiling (20)

Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1
 
Session #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionSession #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de production
 
Offre Audit et Test De Performance
Offre Audit et Test De PerformanceOffre Audit et Test De Performance
Offre Audit et Test De Performance
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
 
Perf university
Perf universityPerf university
Perf university
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
 
JFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZJFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à Z
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EE
 
20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 
Presentation test de_charge_jmeter
Presentation test de_charge_jmeterPresentation test de_charge_jmeter
Presentation test de_charge_jmeter
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?
 
20080923 02 - Securité applicative (GDF-Suez)
20080923 02 - Securité applicative (GDF-Suez)20080923 02 - Securité applicative (GDF-Suez)
20080923 02 - Securité applicative (GDF-Suez)
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 

Plus de MSDEVMTL

Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.netMSDEVMTL
 
Grpc and asp.net partie 2
Grpc and asp.net partie 2Grpc and asp.net partie 2
Grpc and asp.net partie 2MSDEVMTL
 
Property based testing
Property based testingProperty based testing
Property based testingMSDEVMTL
 
Improve cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft AzureImprove cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft AzureMSDEVMTL
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataMSDEVMTL
 
C sharp 8.0 new features
C sharp 8.0 new featuresC sharp 8.0 new features
C sharp 8.0 new featuresMSDEVMTL
 
Asp.net core 3
Asp.net core 3Asp.net core 3
Asp.net core 3MSDEVMTL
 
MSDEVMTL Informations 2019
MSDEVMTL Informations 2019MSDEVMTL Informations 2019
MSDEVMTL Informations 2019MSDEVMTL
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcoreMSDEVMTL
 
Groupe Excel et Power BI - Rencontre du 25 septembre 2018
Groupe Excel et Power BI  - Rencontre du 25 septembre 2018Groupe Excel et Power BI  - Rencontre du 25 septembre 2018
Groupe Excel et Power BI - Rencontre du 25 septembre 2018MSDEVMTL
 
Api gateway
Api gatewayApi gateway
Api gatewayMSDEVMTL
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcoreMSDEVMTL
 
Stephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environmentsStephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environmentsMSDEVMTL
 
Eric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts AzureEric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts AzureMSDEVMTL
 
Data science presentation
Data science presentationData science presentation
Data science presentationMSDEVMTL
 
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...MSDEVMTL
 
Open id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api coreOpen id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api coreMSDEVMTL
 
Yoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analyticsYoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analyticsMSDEVMTL
 
CAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling AverageCAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling AverageMSDEVMTL
 
CAE: etude de cas
CAE: etude de casCAE: etude de cas
CAE: etude de casMSDEVMTL
 

Plus de MSDEVMTL (20)

Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.net
 
Grpc and asp.net partie 2
Grpc and asp.net partie 2Grpc and asp.net partie 2
Grpc and asp.net partie 2
 
Property based testing
Property based testingProperty based testing
Property based testing
 
Improve cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft AzureImprove cloud visibility and cost in Microsoft Azure
Improve cloud visibility and cost in Microsoft Azure
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & Data
 
C sharp 8.0 new features
C sharp 8.0 new featuresC sharp 8.0 new features
C sharp 8.0 new features
 
Asp.net core 3
Asp.net core 3Asp.net core 3
Asp.net core 3
 
MSDEVMTL Informations 2019
MSDEVMTL Informations 2019MSDEVMTL Informations 2019
MSDEVMTL Informations 2019
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Groupe Excel et Power BI - Rencontre du 25 septembre 2018
Groupe Excel et Power BI  - Rencontre du 25 septembre 2018Groupe Excel et Power BI  - Rencontre du 25 septembre 2018
Groupe Excel et Power BI - Rencontre du 25 septembre 2018
 
Api gateway
Api gatewayApi gateway
Api gateway
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Stephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environmentsStephane Lapointe: Governance in Azure, keep control of your environments
Stephane Lapointe: Governance in Azure, keep control of your environments
 
Eric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts AzureEric Routhier: Garder le contrôle sur vos coûts Azure
Eric Routhier: Garder le contrôle sur vos coûts Azure
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
Michel Ouellette + Gabriel Lainesse: Process Automation & Data Analytics at S...
 
Open id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api coreOpen id connect, azure ad, angular 5, web api core
Open id connect, azure ad, angular 5, web api core
 
Yoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analyticsYoann Clombe : Fail fast, iterate quickly with power bi and google analytics
Yoann Clombe : Fail fast, iterate quickly with power bi and google analytics
 
CAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling AverageCAE: etude de cas - Rolling Average
CAE: etude de cas - Rolling Average
 
CAE: etude de cas
CAE: etude de casCAE: etude de cas
CAE: etude de cas
 

Load test & performance profiling

  • 1. 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 Hugo.Doyon@ViaWebTech.ca ViaWebTech.ca
  • 2. 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 Hugo@ViaWebTech.ca Application Ultra-Performante - Tests de charge et l’analyse de processus 2
  • 3. 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
  • 4. 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!
  • 5. 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
  • 6. 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 !
  • 7. 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.
  • 8. 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)
  • 9. 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ésultats Identifier problèmes Implanter solutions 1. Écrire scénarios de tests (User Case) 3. Exécuter Test de charge & Profiling
  • 10. 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 UI Tests
  • 11. 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)
  • 12. 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
  • 13. 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
  • 14. 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)
  • 15. 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
  • 16. 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)
  • 17. À 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
  • 18. 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
  • 19. Analyse de Processus (Hot Path) Application Ultra-Performante - Tests de charge et l’analyse de processus 19
  • 20. Démonstration Technique Application Ultra-Performante - Tests de charge et l’analyse de processus 20
  • 21. Question ? Application Ultra-Performante - Tests de charge et l’analyse de processus 21
  • 22. Références Application Ultra-Performante - Tests de charge et l’analyse de processus 22 Pour me rejoindre : Hugo@viawebtech.ca