Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests...

31
Arnaud FONTAINE – Karim CADI Architectes [email protected] [email protected] Unilog, a LogicaCMG Company Tests de performance et optimisation de vos applications

Transcript of Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests...

Page 1: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Arnaud FONTAINE – Karim CADI Architectes [email protected]@unilog.logicacmg.com

Unilog, a LogicaCMG Company

Tests de performance et optimisation de vos applications

Page 2: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Tests de performance et optimisation de vos applicationsLes tests de performance : enjeux,

objectifs, gainsAnalyse de l’offre actuelleFocus sur les tests de charge Web :

Eléments de méthodologieMise en place d’une plate-forme de tests VSTS 2005Démonstrations

Synthèse

Page 3: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Tests de performance : Enjeux et objectifs

Page 4: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Tests de performance : pourquoi ?

Evaluation

• Des nouvelles solutions techniques proposées par les éditeurs .• De modèles architecturaux.

Projet• Conditions contractuelles client / fournisseur• Contraintes de disponibilité, de scalabilité• Architectures hétérogènes

Page 5: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Performances et cycle projet

LANCEMENTLANCEMENT

REALISATIONSpécifications, Développement,

Tests

REALISATIONSpécifications,

Développement,

Tests

RECETTELIVRAISON& RECETTE

PILOTAGE

Encadrement, suivi , planning

PILOTAGE

Encadrement, suivi , planning

LANCEMENTPRE-LANCEMENT

LANCEMENT EXPLOITATION SOUS CONTRÖLE

TECHNIQUE

Normes, Prototype

sécurité, Tests de

performance

TECHNIQUE

Normes, Prototypesécurité

Tests de performance

ARCHITECTURE

Recette :Valider et/ou optimiser le sizing

Prototypage :déterminer a priori le sizing cible

CH

AR

GE

CH

AR

GE

Dév:Anticiper les problèmes de perf

PR

OFIL

ING

Page 6: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Offre actuelle

Page 7: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Analyse de l’offre actuelleOpen So

urce

• outillage varié mais produits incomplets

• coûts d’utilisation faibles

• réservé à des profils très techniques

Microsoft

• Industrialisationdes chantiers performances

• coûts intermédiaires

• fonctionnalités moindres que les concurrents commerciaux mais mieux packagée que l’offre Open Source

Offres Commerciales

• produits très complets

• coûts d’utilisation élevés (consulting, location…)

• modèle d’utilisation peu souple (campagnes de tests)

Page 8: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Visual Studio Team SystemVisual Studio Team Suite

MS

F P

rocess a

nd

Gu

idan

ce

Visual Studio Team Foundation Server

VisualStudioIndustryPartners

SoftwareArchitects

SoftwareDevelopers

SoftwareTesters

DatabaseProfessionalsVisual

StudioTeamExplorer

Conception d’application

sModélisation

d’infrastructure et

de déploiement

Analyse code

Optimisation de

PerformanceAnalyse de sécurité du

code

Comparaison de schémas/données

Gestion de déploiementAutomatisation

des tests

Tests de montée en

chargeTests manuels

Campagnes de tests

Gestion du changement

Gestion de configuration

Gestion de projet

Portail du projet

Serveur d’intégration (Build)

Rapport d’avancement

Load Test Agent

Tests unitaires

Génération de jeux d’essais

Couverture de code

Visual Studio Professional Edition

Concepteur de classes

Visio et modélisation UML

Page 9: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Focus sur les tests de charges

Page 10: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Eléments de méthodologie

Définir le plan de tests :Hypothèses d’architectureType de tests à réaliserScénarii fonctionnelsET LES CRITERES D’ACCEPTATION !!!

« Tests de charge »

Tests de stress

Tests de tenue en charge

Tests de capacité

Page 11: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Visual Studio Team Tester

Démo

Page 12: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Mise en place d’une plate-forme de tests de charge VSTS

Client

Architecte

Load Tester Contrôleur

Injecteurs

Serveur(s) cible(s)

Controller ServiceSQL Server 2005

Agent Service

VS2005 Team Tester

Page 13: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Eléments de méthodologie

Bien définir les hypothèsesScénarios fonctionnels et leur répartition (10% login, 60% panier, 20% paiement…)Navigateurs (IE, FireFox, Opera…)Répartition des bandes passantes (LAN, 56K…)

Constituer un test étalonFiabiliser le test de référence (demo)Vérifier la reproductibilité de la procédure de test.

Tests préparatoires : Identifier le poids des paramètres

Think time et think profile% de nouveaux utilisateursSimulation du cache du navigateur côté client (demo)

Le plan de test : une stratégie d’explorationUn paramètre libre à la fois

Page 14: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Eléments de méthodologie

Web Tests, Tests MixNetwork MixBrowser MixRunning settings

Compteurs de performances

Load Test Profiles :• Constant• Palier• Par objectif

VS2005 Team Tester

Définir le type de tests

Mesurer l’atteinte des objectifs

Définir les hypothèses

Définir les réseaux, navigateurs…

Page 15: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Quelques Tips

Dimensionnement de la plateforme :Isoler les Agents et Contrôleur.80% d’utilisation CPU coté agent.

Dans un contexte de virtualisationPenser allocation de ressources

Isoler la plateforme de tests du réseau de l’entreprise :

2 Mo/s sortie serveur pour 200 Users2x3Mo/s + 2x300ko/s pour 500 Users en NLB

Page 16: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Phase 1 – préparation des tests

Client VSTS Tester

Architecte

Load TesterServeur(s) cible(s)

1 – Enregistrement des scénariisous forme de Web Tests

2 – Création d’un Load Test• personnalisation des

Web Tests• profil de charge (step,

constant, goal based)• navigateurs• réseaux• compteurs de

performances

3 – Configuration de la plate-forme de tests• contrôleur• agents• base de collecte

Contrôleur

Agents

Page 17: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Phase 2 : lancement des tests

Client VSTS Tester

Architecte

Load TesterContrôleur

Agents

Serveur(s) cible(s)

1 – Transfert du paramétrageau contrôleur

2 – Coordination des agents 3 – Simulation

des requêtes, users, think times, bandes passantes, navigateurs…

4 – Agrégation des résultats (données compteurs de performances)

5 – Mise à disposition pour le client

Page 18: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Phase 3 : analyse des résultats

Clients

Contrôleur

Remontée des informations en temps réel

Audit à posteriori

VS2005 Team Tester

Reporting Services

Page 19: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Etude de cas

Client / Serveur cible

Contrôleur

Controller ServiceSQL Server 2005

VS2005Team TesterIIS

Agents

Agent Service

Objectifs / points illustrés :Vérifier la tenue en charge de l’application.Evaluer les capacités limites de l’application

Page 20: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Les Hypothèses

Mon application sera-t-elle capable de supporter 2000 utilisateurs simultanément ?

• Think time de 20 s => 3 requêtes/ minutes• 2000 users => 6000 requêtes / minutes• Distribution homogène => 100 requêtes / seconde

Profil de charge = paliers de 100 utilisateurs toutes les 5 secondes => 100 secondes nécessaires.

Temps du test = 5 minutes.

Remarque : on utilisera un test constant pour valider la tenue de la charge

Objectifs / points illustrés :Utilisation d’une plate-forme Contrôleur / AgentsMise en situation réelle pour dimensionnement des serveurs cibles

Page 21: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

2 agents / 1 serveur

Démo

Page 22: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.
Page 23: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Résultats

Un seul serveur est insuffisant !

Les différentes pistes :Le Tricheur •« Tuner » le test

Le Malin •« Profiling » de code

Le Riche •Monter un cluster de serveurs

Page 24: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Etude de cas

Evaluer les capacités de l’architecture NLBUtiliser un test par objectif

Serveur cible

Contrôleur

Controller ServiceSQL Server 2005

Agents

Agent Service

Network Load Balancing

Client

VS2005Team TesterIIS

Page 25: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

2 agents / 2 serveurs

Démo

Page 26: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.
Page 27: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.
Page 28: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

En synthèse

VSTS Load Testing est très adapté pour les tests de charge en phase de prototypage

Rapidité de prise en main avec une bonne méthodoVirtualisation des environnements

Relative jeunesse de l’outil sur la phase pré-production, par rapport à l’offre concurrente

Pas de simulation de pannesProfils de montée en charge basiquesFaible capacité d’analyse

Capacité à intégrer des plug-ins sur les différentes phases des tests pour combler ces lacunes

Page 29: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

Questions / réponses

Page 30: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

La référence technique

pour les IT Pros :technet.microsoft.com

La référence technique

pour les développeurs :

msdn.microsoft.com

S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée

Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs

Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique

Visual Studio 2005 +

Abonnement MSDN Premium

Abonnement TechNet Plus :

Versions d’éval + 2 incidents support

Page 31: Les tests de performance : enjeux, objectifs, gains Analyse de loffre actuelle Focus sur les tests de charge Web : Eléments de méthodologie Mise en place.

© 2007 Microsoft France

Votre potentiel, notre passion TM