Analyse de performance, monitoring

Documents pareils
LICENCE : INFORMATIQUE GENERALE

Projet de développement

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Spécifications de l'offre Surveillance d'infrastructure à distance

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.

SafeKit. Sommaire. Un livre blanc de Bull Evidian

1 JBoss Entreprise Middleware

Programmation Web. Introduction

contact@nqicorp.com - Web :

Notre Catalogue des Formations IT / 2015

Qu'est-ce que le BPM?

MRTG & RRD Tool. Multi Router Traffic Grapher

Vérifier la qualité de vos applications logicielle de manière continue

Mise en œuvre des serveurs d application

CAHIER DES CHARGES D IMPLANTATION

PORTAIL DE GESTION DES SERVICES INFORMATIQUES

Plateforme de capture et d analyse de sites Web AspirWeb

Architecture de la plateforme SBC

10. Base de données et Web. OlivierCuré

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

et Groupe Eyrolles, 2006, ISBN :

Environnements de développement (intégrés)

CLOUD PRIVÉ GENERALI - ACCOMPAGNEMENT AU CHANGEMENT - DU «POC» À LA RÉALITÉ. Alain ROY Generali Logo Société

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Automatisation de l administration système

JOnAS Day 5.1. Outils de développements

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Pratique de la prémétrologie à Orange Labs à travers l'utilisation de la plate forme de test en charge CLIF

SQL Server 2012 Administrez une base de données : Exercices et corrigés

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Automation Engine 10. Plates-formes prises en charge

Tableau comparatif des offres Visual Studio

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

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

Architecture de la grille

Inscriptions : Renseignements : 33 (0) education.france@sap.com

Formation projet informatique. Expression de besoins, définir un besoin informatique

ORACLE TUNING PACK 11G

Environnements de Développement

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

Dr.Web Les Fonctionnalités

Cinq meilleures pratiques pour les administrateurs VMware : Microsoft Exchange sur VMware

Simple Database Monitoring - SDBM Guide de l'usager

Avantic Software Présentation de solutions GED pour mobiles (Gestion Electronique de Documents)

contact@nqicorp.com - Web :

EXA1415 : Annotations

IMO - Informatique, modélisation et optimisation

Annuaires LDAP et méta-annuaires

2011 Hakim Benameurlaine 1

Formation en Logiciels Libres. Fiche d inscription

Résoudre les problèmes PHP, les meilleures (et les pires) techniques

L art d ordonnancer. avec JobScheduler. François BAYART

Analyse comparative entre différents outils de BI (Business Intelligence) :

BMC Middleware Management

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Exonet sur le protocole Syslog

Refonte front-office / back-office - Architecture & Conception -

I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi

Catalogue Formation «Vanilla»

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Optimisation for Cloud Computing and Big Data

Fiche Produit Desktop Popup

JOnAS 5 Enterprise OSGi javaee compliant

Partie 7 : Gestion de la mémoire

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Master Data Management en Open Source C est le Bon Moment

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

PERFORMANCE ET DISPONIBILITÉ DES SI

Suite IBM Tivoli IT Service Management : comment gérer le système d information comme une véritable entreprise

TechSoftware Présentations

Java pour le Web. Cours Java - F. Michel

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

INDUSTRIALISATION ET RATIONALISATION

Gestion collaborative de documents

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Prise en compte des ressources dans les composants logiciels parallèles

LICENCE PROFESSIONNELLE

Déploiement de l infrastructure SOA. Retour d expérience Août 2013

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Module d anonymisation

PERFORMANCE BASE DE DONNÉES

SCOM 2012 (System Center Operations Manager) De l'installation à l'exploitation, mise en oeuvre et bonnes pratiques

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Concept de machine virtuelle

Projet Active Object

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Bases de données avancées Introduction

Diagnostic adaptatif d'un flux d'alarmes par méta diagnostic distribué Application à la détection d'intrusions dans un serveur Web

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Table des matières 1. Avant-propos. Chapitre 1 Virtualisation du poste de travail

Transcription:

Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl P. Collet 1 P. Collet 2 Motivations Performance? Espace & Temps We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Donald E. Knuth La plupart des programmes suivent la règle des 80/20 Ils exécutent 20 % du code pendant 80 % du temps Combien de temps passé et dans quelles parties du code Quelles fonctions sont souvent utilisées Quelles fonctions prennent le plus de temps CPU Quelle partie est peut-être mal conçue P. Collet 3 Mesure globale du temps Utilisation de la commande UNIX : time fournit le temps utilisateur, le temps système, et l'elapsed time CPU time = Temps utilisateur + temps système elapsed time : temps réel de l'exécution de la commande user time : temps CPU utilisé par le programme utilisateur sys time : temps utilisé par le système pour gérer l'exécution du job Propriétés Résolution de l'ordre de 10ms Un "system_time" disproportionné peut indiquer un dysfonctionnement Nombre important de floatig-point exceptions, de "page faults" CPU time < elapsed time Partage de la machine, grand nombre d'i/o, swap important Mise en oeuvre : time <programme> <arguments du programme> P. Collet 4 1

Principes du profilage Deux approches : échantillonnage ou comptage Échantillonnage du compteur de programme Le PC (program counter) est échantillonné, à intervalles réguliers, pour savoir quelles fonctions sont appelées Avec des recompilations particulières, on peut obtenir le graphe d appel et le rapport en fonctions appelantes/appelées Échantillonnage de machine virtuelle Très facile En Java : la machine note, à intervalles réguliers, quelle méthode est active (remontée de la pile d appel jusqu à un certain niveau) Mais fortement dépendant du taux d échantillonnage Java 1.6 : java -Xprof P. Collet 5 Principes du profilage (suite) Comptage de blocs de base Insertion du code de comptage dans des endroits clés du programme Produit le comptage du nombre de fois que les instructions s exécutent Exemple : pixie Lit un programme exécutable, le partitionne en «blocs de base» et écrit un programme équivalent Qui contient du code additionnel pour mesurer le temps de chaque bloc de base Un bloc de base est une séquence de code sans débranchement Présent sur architecture Compaq TrueUNIX 64 et d anciennes architectures similaires P. Collet 6 Projet TPTP dans Eclipse La mise en place de tests et l'analyse des performances des applications sont des phases essentielles dans le cycle de développement. Le projet TPTP a pour but de répondre à ces besoins d'une part en proposant l'outillage de base un socle extensible TPTP signifie : Test & Performance Tools Platform Crée en 2002 sous le nom Hyadès puis TPTP organisé en 4 sousprojets dont TPTP Platform Project: socle utilisé par les divers outils de test et de mesure des performances. La plateforme fournit notamment les mécanismes permettant de collecter des informations dans un environnement réparti. P. Collet 7 TPTP : organisation TPTP Tracing and Profiling Tools Project Outil de collecte des informations sur le fonctionnement d'applications Java (applis autonomes, applis J2EE) Outil d'analyse de ces informations (localisation des allocations mémoire, détermination des temps d'exécution) TPTP Test Tools Project propose les outils permettant de créer des tests : test JUnit, test «manuel» (avec intervention de l'utilisateur), test d'applications Web (capture et exécution d'une succession de requêtes HTTP) TPTP Monitoring Tools Project fournit des outils de collecte et de visualisation des performances du système d'exploitation (Windows et Unix) et de supervision pour divers serveurs d'applications J2EE (JBoss et JOnAS) P. Collet 8 2

Tracing and Profiling Tools Analyse d une application Java pour localiser les morceaux de code qui impactent le plus les performances. Par analyse dynamique de l'application L'application est exécutée dans un mode particulier, le mode'profiling', qui permet la collecte d'informations les temps d'exécution l'occupation mémoire la gestion de threads La couverture de code Pendant l'exécution, ou une fois celle-ci terminée, plusieurs vues permettent d'analyser les résultats Configuration P. Collet 9 P. Collet 10 Visualisation des résultats Flot d exécution P. Collet 11 P. Collet 12 3

Trace d interactions UML2 Traces de thread UML 2 P. Collet 13 P. Collet 14 Analyse de thread Analyse mémoire P. Collet 15 P. Collet 16 4

Conclusion TPTP Un environnement graphique très puissant Mais attention : Beaucoup de données peuvent être produites Elles seront difficiles à analyser synthétiquement, même par les outils graphiques Le filtrage, dès le début du profilage, est primordial Comme pour le débogage, il faut un peu savoir ce que l on cherche avant de le trouver P. Collet 17 5