Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.



Documents pareils
Qu'est-ce que le BPM?

et Groupe Eyrolles, 2006, ISBN :

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

FazaANGEL supervision pro-active

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Formation en Logiciels Libres. Fiche d inscription

Expertises Métiers & e-business. Technologies Microsoft & OpenSource. Méthodologies et gestion de projet

ContactOffice. Le Bureau Virtuel des ENT

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Projet d'infrastructure Cloud

Description de l entreprise DG

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Catalogue Formation «Vanilla»

Exchange Server 2013 Préparation à la certification MCSE Messaging - Examen

«clustering» et «load balancing» avec Zope et ZEO

1 LE L S S ERV R EURS Si 5

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Smart Notification Management

Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008

Introduction à. Oracle Application Express

Programme de formation

ACCORD-CADRE DE TECHNIQUES DE L'INFORMATION ET DE LA COMMUNICATION. PROCEDURE ADAPTEE En application des articles 28 et 76 du Code des Marchés Publics

Release Notes POM v5

Présentation des composants WhatsUp Companion & WhatsUp Companion Extended. Version Mars Orsenna

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

Présentation Création-Web

1 JBoss Entreprise Middleware

contact@nqicorp.com - Web :

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

Gestion de tests et tests de performance avec Salomé-TMF & CLIF

Phase 1 : Introduction 1 jour : 31/10/13

Projet de Java Enterprise Edition

Les nouveautés d AppliDis Fusion 4 Service Pack 3

Compétences informatiques

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Présentation de la solution Open Source «Vulture» Version 2.0

Infrastructure RDS 2012

NEXTDB Implémentation d un SGBD Open Source

Zimbra Forum France. Montée en charge et haute disponibilité. Présenté par Soliman HINDY Société Netixia

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Formation Administrateur de Données Localisées (Prodige V3.2) Recherche et consultation des métadonnées

Hyper-V et SC Virtual Machine Manager Technologie de virtualisation sous Windows Server 2008 R2 [2ième édition]

CAHIER DES CHARGES D IMPLANTATION

Opérateur global de la performance IT

TP PLACO. Journées Mathrice d'amiens Mars 2010

NOUVELLES FONCTIONNALITÉS DE MYQ 4.4

Test de performance en intégration continue dans un cloud de type PaaS

Cloud Computing. La révolution industrielle informatique Alexis Savin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

Société TPA S.A.S. Servie Informatique TPA Metz Nord. 85, avenue de Thionville Woippy. L entreprise.

Gestion de la relation client

Les modules SI5 et PPE2

Guide de l'utilisateur de l'application mobile

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Système Principal (hôte) 2008 Enterprise x64

contact@nqicorp.com - Web :

MARCHES PUBLICS DE FOURNITURES COURANTES ET SERVICES CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES. Objet du marché :

LES SOLUTIONS OPEN SOURCE RED HAT

En savoir plus pour bâtir le Système d'information de votre Entreprise

Armelin ASIMANE. Services RDS. de Windows Server 2012 R2. Remote Desktop Services : Installation et administration

Artica. Domain throttling avec Postfix. Révision Du 04 Février 2011 version

ARTICA PROJECT Vous souhaitez mettre en place simplement un serveur sécurisé: De messagerie.

Programmation Web. Introduction

THEGREENBOW FIREWALL DISTRIBUE TGB::BOB! Pro. Spécifications techniques

HySIO : l infogérance hybride avec le cloud sécurisé

Présentation générale de l'application OBM

Automatisation de l administration système

[WEB4ALL PRESENTATION ET TARIFS VPS INFOGERES]

L offre de formation 2014 INSET de Dunkerque

Outil de gestion et de suivi des projets

Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Test de HSQLDB et Comparatif avec Sqlite

Produits et grille tarifaire. (septembre 2011)

AccessMaster PortalXpert

AUDIT MAINTENANCE CURATIVE MAINTENANCE PREVENTIVE HOTLINE

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Développement des Systèmes d Information

Zimbra. S I A T. T é l : ( ) F a x : ( )

CA ARCserve Backup ß QUESTIONS LES PLUS FRÉQUENTES : CA ARCSERVE BACKUP R12.5

Dossier Solution - Virtualisation CA arcserve Unified Data Protection

2 disques en Raid 0,5 ou 10 SAS

Guide utilisateur. Gestion des niveaux de sécurité. Contact commercial : Tél. : com@aplika.fr

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Artica Proxy Appliance Haute disponibilite

Joomla! Création et administration d'un site web - Version numérique

Sommaire. Le 04/10/2013 Réf : Annexe-Presentation Solution XiVO

Installation locale de JOOMLA SEPIA

Au-delà de la simple gestion de votre fonds documentaire, évoluez vers la gestion complète de vos flux d informations.

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

Transcription:

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Le test aux limites 3. Méthode 2.1. Pré-requis 2.2. Préparation des scénarios 2.3. Lancement du test de charge 2.4. Interprétation des résultats

Plan de notre intervention 4. Réalisation d'un test en direct avec Jmeter 4.1. Généralités 4.2. L'interface Jmeter 4.3. Les éléments 4.4. Le proxy HTTP 4.5. Les sources de données 4.6. Visualisation des résultats 4.7. Exemple de scénario complet 5. Présentation de Syloé 6. Suite des présentations Syloe des logiciels libres

1. Pourquoi le test de charge

Introduction (1/2) Une application Web est un site hébergé sur des serveurs

Introduction (1/2) Une application Web est un site hébergé sur des serveurs Même si celui-ci fonctionne bien, des ralentissements peuvent apparaître : Passage en haute saison dans des cas où la fréquentation varie au cours de l'année Augmentation de l'audience suite à un spot publicitaire ou un envoi de mailing

Introduction (2/2) Un test de charge consiste à solliciter le site Internet en lui appliquant un certain nombre de requêtes automatisées

Introduction (2/2) Un test de charge consiste à solliciter le site Internet en lui appliquant un certain nombre de requêtes automatisées Il permet d'observer son comportement au-delà de l'audience normale

Les tests classiques Tests unitaires Tester de manière intrinsèque le programme

Les tests classiques Tests unitaires Tester de manière intrinsèque le programme Tests de non-régression Eviter l'introduction de bugs lors de la correction d'autres bugs ou l'ajout de nouvelles fonctionnalités

Les tests classiques Tests unitaires Tester de manière intrinsèque le programme Tests de non-régression Eviter l'introduction de bugs lors de la correction d'autres bugs ou l'ajout de nouvelles fonctionnalités Tests fonctionnels Valider que les fonctionnalités attendues marchent

Limites Combien d'utilisateurs simultanés l'application peut tolérer?

Limites Combien d'utilisateurs simultanés l'application peut tolérer? Comment vont évoluer les temps de réponse avec l'augmentation de l'audience?

Limites Combien d'utilisateurs simultanés l'application peut tolérer? Comment vont évoluer les temps de réponse avec l'augmentation de l'audience? Quel est le composant de l'application qui sera le facteur limitant à la montée en charge?

Limites Combien d'utilisateurs simultanés l'application peut tolérer? Comment vont évoluer les temps de réponse avec l'augmentation de l'audience? Quel est le composant de l'application qui sera le facteur limitant à la montée en charge? Comment vont réagir les composants à de nombreux accès concurrents?

Préconisations Les tests de charge doivent être intégrés dans le processus de développement

Préconisations Les tests de charge doivent être intégrés dans le processus de développement Ils sont à prévoir avant tout déploiement en production d'une nouvelle application

Préconisations Les tests de charge doivent être intégrés dans le processus de développement Ils sont à prévoir avant tout déploiement en production d'une nouvelle application Chaque nouvelle version de l'application devrait également être testée

2. Les différents types de tests de charge

Le test de performance (1/2) On définit le nombre maximal d'utilisateurs virtuels en fonction de l'audience réelle attendue

Le test de performance (1/2) On définit le nombre maximal d'utilisateurs virtuels en fonction de l'audience réelle attendue On peut faire varier le nombre d'utilisateurs par paliers

Le test de performance (1/2) On définit le nombre maximal d'utilisateurs virtuels en fonction de l'audience réelle attendue On peut faire varier le nombre d'utilisateurs par paliers La durée de chaque palier peut se prolonger afin de valider le fonctionnement dans le temps

Le test de performance (2/2) Met en évidence des points sensibles et critiques de l'architecture technique

Le test de performance (2/2) Met en évidence des points sensibles et critiques de l'architecture technique Permet la prise de métriques de l'application en fonctionnement (temps de réponse, charge système, requêtes en base de données, etc.)

Le test aux limites (1/2) On définit un nombre d'utilisateurs virtuels sans cesse croissant

Le test aux limites (1/2) On définit un nombre d'utilisateurs virtuels sans cesse croissant On teste l'application avec une activité bien supérieure à l'activité normale

Le test aux limites (1/2) On définit un nombre d'utilisateurs virtuels sans cesse croissant On teste l'application avec une activité bien supérieure à l'activité normale On multiplie les accès concurrents aux mêmes processus métiers

Le test aux limites (2/2) Tester les réactions du système aux limites du modèle d'usage de l'application

Le test aux limites (2/2) Tester les réactions du système aux limites du modèle d'usage de l'application Déterminer la capacité maximale de l'ensemble dans une optique prévisionnelle

Le test aux limites (2/2) Tester les réactions du système aux limites du modèle d'usage de l'application Déterminer la capacité maximale de l'ensemble dans une optique prévisionnelle Mettre en évidence la limite de crash de l'application ou du système

3. Méthode de mise en place

Pré-requis Avoir à disposition un système de supervision déployé sur la plate-forme

Pré-requis Avoir à disposition un système de supervision déployé sur la plate-forme Connaître le type d'architecture et le nombre de serveurs

Pré-requis Avoir à disposition un système de supervision déployé sur la plate-forme Connaître le type d'architecture et le nombre de serveurs Connaître les mécanismes de cache en place

Pré-requis Avoir à disposition un système de supervision déployé sur la plate-forme Connaître le type d'architecture et le nombre de serveurs Connaître les mécanismes de cache en place Bouchonner les appels aux services externes pour tester uniquement le service désiré

Préparation des scénarios Définir un ou plusieurs déroulements d'actions typiques d'un utilisateur réel

Préparation des scénarios Définir un ou plusieurs déroulements d'actions typiques d'un utilisateur réel Identifier les requêtes au service que chaque action est censée faire

Préparation des scénarios Définir un ou plusieurs déroulements d'actions typiques d'un utilisateur réel Identifier les requêtes au service que chaque action est censée faire Définir des pauses qui correspondent aux temps de réaction de l'utilisateur réel

Préparation des scénarios Définir un ou plusieurs déroulements d'actions typiques d'un utilisateur réel Identifier les requêtes au service que chaque action est censée faire Définir des pauses qui correspondent aux temps de réaction de l'utilisateur réel Créer des comptes sur l'application pour chaque utilisateur virtuel

Lancement du test de charge Partir d'une base de données prédéfinie qui pourra être réinitialisée avant chaque test

Lancement du test de charge Partir d'une base de données prédéfinie qui pourra être réinitialisée avant chaque test Lancer un pré-test sur une durée courte pour valider qu'il n'y a pas de dysfonctionnement apparent

Lancement du test de charge Partir d'une base de données prédéfinie qui pourra être réinitialisée avant chaque test Lancer un pré-test sur une durée courte pour valider qu'il n'y a pas de dysfonctionnement apparent Lancer le test de charge

Interprétation des résultats (1/3) Séparer les requêtes statiques (images, css, etc.) des requêtes de contenu

Interprétation des résultats (1/3) Séparer les requêtes statiques (images, css, etc.) des requêtes de contenu Pour chaque type de requête, combiner sous forme de graphes : - le nombre de requêtes simultanées - les temps de réponse - les codes retours des requêtes (succès ou erreur)

Interprétation des résultats (2/3) Mettre en corrélation ces graphes avec les graphes systèmes récoltés par la supervision

Interprétation des résultats (2/3) Mettre en corrélation ces graphes avec les graphes systèmes récoltés par la supervision Mettre en évidence les points limites de l'application

Interprétation des résultats (2/3) Mettre en corrélation ces graphes avec les graphes systèmes récoltés par la supervision Mettre en évidence les points limites de l'application En expliquer les raisons à l'aide des informations remontées par la supervision

Interprétation des résultats (3/3) Auditer et préconiser des optimisations : Applicatives (code, base de données) Systèmes (configurations, tuning) Architecture (scalabilité)

4. Jmeter

Généralités Outil fourni par la Fondation Apache sous licence Apache

Généralités Outil fourni par la Fondation Apache sous licence Apache Ecrit en Java

Généralités Outil fourni par la Fondation Apache sous licence Apache Ecrit en Java Fonctionne en mode standalone ou client/serveur

Généralités Outil fourni par la Fondation Apache sous licence Apache Ecrit en Java Fonctionne en mode standalone ou client/serveur Permet de tester de nombreux types de serveurs : web, bases de données, LDAP, mail, etc.

L'interface Jmeter (1/2)

L'interface Jmeter (2/2) Le plan de test peut être divisé en groupes d'unités et contient les éléments des scénarios

L'interface Jmeter (2/2) Le plan de test peut être divisé en groupes d'unités et contient les éléments des scénarios Le plan de travail contient tous les éléments hors scénario (configuration du proxy, tableaux de résultats, etc.)

L'interface Jmeter (2/2) Le plan de test peut être divisé en groupes d'unités et contient les éléments des scénarios Le plan de travail contient tous les éléments hors scénario (configuration du proxy, tableaux de résultats, etc.) Le test de charge se lance en cliquant sur l'icône

Les éléments (1/2) Les échantillons sont les requêtes qui seront envoyées au serveur

Les éléments (1/2) Les échantillons sont les requêtes qui seront envoyées au serveur Les contrôleurs permettent de structurer les échantillons (si, boucles, aléatoire)

Les éléments (1/2) Les échantillons sont les requêtes qui seront envoyées au serveur Les contrôleurs permettent de structurer les échantillons (si, boucles, aléatoire) Les compteurs de temps sont utiles pour insérer des pauses dans le scénario

Les éléments (2/2) Les pré- ou post-processeurs peuvent générer ou extraire des données d'un échantillon

Les éléments (2/2) Les pré- ou post-processeurs peuvent générer ou extraire des données d'un échantillon Les récepteurs offrent plusieurs moyens de présenter les résultats (graphiques, tableaux, arbres, etc.)

Le proxy HTTP (1/3) Il permet de simplifier l'écriture des scénarios

Le proxy HTTP (1/3) Il permet de simplifier l'écriture des scénarios Proxy HTTP en écoute sur le port 8080

Le proxy HTTP (1/3) Il permet de simplifier l'écriture des scénarios Proxy HTTP en écoute sur le port 8080 Configuration du proxy dans le navigateur

Le proxy HTTP (1/3) Il permet de simplifier l'écriture des scénarios Proxy HTTP en écoute sur le port 8080 Configuration du proxy dans le navigateur Déroulement du scénario souhaité à la main

Le proxy HTTP (1/3) Il permet de simplifier l'écriture des scénarios Proxy HTTP en écoute sur le port 8080 Configuration du proxy dans le navigateur Déroulement du scénario souhaité à la main Interception à la volée de toutes les requêtes : - URL - En-têtes HTTP - Paramètres POST et GET

Le proxy HTTP (2/3)

Le proxy HTTP (3/3)

Les sources de données Pré-charger des variables à partir d'un fichier CSV ou d'une base de données

Les sources de données Pré-charger des variables à partir d'un fichier CSV ou d'une base de données Effectuer de manière itérative une requête pour chaque élément (ex : créer 10 comptes prédéfinis au sein de l'application)

Les sources de données Pré-charger des variables à partir d'un fichier CSV ou d'une base de données Effectuer de manière itérative une requête pour chaque élément (ex : créer 10 comptes prédéfinis au sein de l'application) Tirer un élément aléatoirement et l'utiliser dans un scénario (ex : choisir un compte et lui faire exécuter des actions)

Visualisation des résultats

5. Présentation de Syloé

Services : Syloé : Expertise Linux Audit des SI de production Audit de sécurité Test de charge Applicatif Supervision fine des applications Web critiques Intégration d'outils systèmes sur mesures Formation autours des technologies Linux et réseaux Support en Crédit Tempsen mode pompier

Syloé : Expertise Linux Hébergement et infogérance : 2 Datacenters Plateformes en Haute Disponiblité Failover, Loadbalancing, Clustering Cloud, SaaS, Virtualisation Travail collaboratif Zimbra, BlueMind, Open-Xchange..

Suite des présentations Syloe des logiciels libres Sujets Transverses: Présentation : Bonnes pratiques d'installation et d'infogérance d'un serveur sur internet Présentation : Concevoir et réussir un test de charge applicatif avec scénarios de navigation des applications Web; Présentation : Autour de La supervision : Quoi superviser? Quelle metrique, jusqu'a quel détails, quel processus organisationnel? Présentation des différentes composantes de la lutte Anti-Spam sous Linux; Présentation de GIT GitLab...; Présentation des nouveautés de Jboss7 et Tomcat 7;

Suite des présentations Syloe des logiciels libres Sujets Techniques: Présentation des différentes solutions de High Aviability de Mysqls ; Présentation des alternatives à Mysql de Oracle; Comment sécuriser un serveur Web, coté système ; Présentation de deux solutions de messagerie opensource : Zimbra -Bluemind; Présentation des solutions de Haute-Disponibilité sous Linux; Présentation d'une solution à base de brique opensource d'automatisation (Industrialisation) des mises en production; Présentation de Cfengine comme outils de centralisation des configurations; Présentation : Que faire suite à un hack d'un serveur internet? Présentation : comment choisir une solution de virtualisation?

Vos Questions... Nous contacter : www.syloe.fr Support Linux professionnel http://www.services-linux.fr contact@syloe.info