PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

Nouveauté WEBDEV 24 !
  • Ce que vous allez apprendre dans cette leçon
  • Présentation
  • Lancer l'analyseur de performances
  • Analyse du résultat
Leçon 10.3. Analyseur de performances
Ce que vous allez apprendre dans cette leçon
  • Présentation.
  • Lancer l'analyseur de performances.
  • Analyser le résultat.

Durée estimée : 15 mn
Leçon précédenteSommaireLeçon suivante
Présentation
L'analyseur de performances (appelé également Profiler) est un outil permettant de vérifier et d'optimiser le temps d'exécution des traitements de votre site.
Son principe est simple :
  • Vous testez votre site.
  • Pendant ce test, l'analyseur de performances répertorie toutes les actions effectuées et sauvegarde les temps d'exécution de chacun des traitements exécutés.
A la fin du test, l'analyseur de performances vous présente :
  • les 10 manipulations qui ont pris le plus de temps,
  • la durée et le nombre d'appels de tous les traitements exécutés.
Le projet "WW_Optimisation" contient une page spécifique permettant de visualiser des résultats intéressants avec l'analyseur de performances.
Lancer l'analyseur de performances
L'analyseur de performances peut être lancé :
  • directement depuis l'éditeur de WEBDEV :
    Dans ce cas, le projet est alors automatiquement exécuté en mode test. Vous pouvez manipuler votre application et lancer les traitements de votre choix.
    Pour revenir sous l'éditeur WEBDEV, il suffit de quitter votre site.
    L'analyseur de performances affiche alors le résultat de l'analyse. Ce résultat est enregistré sous forme d'un fichier WPF.
  • depuis un de vos traitements en WLangage, grâce aux fonctions suivantes :
    AnalyseurDébutLance la "collecte d'informations" pour l'analyseur de performances.
    AnalyseurFinArrête la "collecte d'informations" pour l'analyseur de performances.

    Dans ce cas, seul le code présent entre les fonctions AnalyseurDébut et AnalyseurFin est analysé. Le résultat est enregistré sous forme d'un fichier WPF.
  • Dans notre exemple, nous allons utiliser la première méthode. Pour lancer l'analyseur de performances sur le projet "WW_Optimisation" :
    1. Dans le ruban, sous le volet "Projet", dans le groupe "Audit et performances", déroulez "Analyser les performances" et sélectionnez "Analyser les performances".

      Note

      L'analyseur de performances peut également être lancé depuis le tableau de bord du projet, via le widget "Performances". Il suffit de :
      • activer le Widget si nécessaire (cliquez sur le lien "Cliquez ici pour réactiver").
      • cliquer sur la flèche et de sélectionner " Analyser les performances".
    2. Le test du projet se lance.
    3. Cliquez sur le bouton "Page de test de l'analyseur de performances".
    4. Cliquez sur le bouton "Traitement à analyser".
    5. Validez la fenêtre d'information et arrêtez le test du projet. La fenêtre du compte-rendu de l'analyseur de performances apparaît.
Analyse du résultat
  • Examinons la fenêtre du compte-rendu de l'analyseur de performances. Les résultats sont affichés dans plusieurs onglets :
    • l'onglet "Synthèse" présente les dix traitements qui ont pris le plus de temps.
    • l'onglet "Cartographie" présente une vision graphique des traitements les plus importants.
    • l'onglet "Détail" présente tous les traitements lancés lors du test de l'application (classés du plus long au plus rapide).
    • l'onglet "Appels" permet de visualiser le détail des opérations réalisées dans un traitement.
  • Détaillons ces différents onglets dans le cas de notre exemple.
    • L'onglet "Synthèse" présente les dix traitements les plus consommateurs de temps. Dans notre exemple, nous pouvons voir que la procédure locale "MetAJourStockProduits" prend plus de 3 secondes à s'exécuter (ce temps peut varier en fonction de la puissance de votre machine).
    • L'onglet "Cartographie" permet d'identifier de manière visuelle ce qui a pris le plus de temps. Dans notre cas, c'est un appel à la fonction HTTPRequête :
    • L'onglet "Détail" présente tous les traitements appelés du plus long au plus rapide.
      Pour chaque traitement, les informations suivantes sont affichées :
      • Fonction : Fonction, traitement ou procédure exécutée.
      • Temps Total : Temps d'exécution de la fonction.
      • Temps interne : Temps d'exécution dû au moteur.
      • Nb appels : Nombre d'appels effectués à la fonction (procédure ou traitement).
      • Temps 1 appel : Temps d'exécution d'un appel à la fonction (procédure ou traitement).
      • % Code : Pourcentage du temps passé dans le traitement de la fonction ou de la procédure (code du développeur pouvant être optimisé).
      • Parent : Elément qui contient le traitement.
  • Dans notre cas, l'onglet "Détail" permet de retrouver l'appel à la fonction HTTPRequête dans les éléments prenant le plus de temps.
    1. Sélectionnez cette ligne. Nous allons voir dans le code si un problème peut expliquer ce ralentissement.
    2. En cliquant sur le bouton "Appels", le détail des appels de la procédure MetAjourStockProduits apparaît. En sélectionnant la ligne "HTTPRequête" et en cliquant sur le bouton "Code", la ligne de code correspondante est affichée sous l'éditeur de code.
    3. Fermez l'analyseur de performances.
    4. La ligne de code exécutée est la suivante :
      HTTPRequête("adr-fournisseur")
      Le ralentissement vient du fait que l'adresse spécifiée pour la fonction HTTPRequête est inaccessible.
  • Testons rapidement le fonctionnement de l'application en optimisant ce code :
    1. Remplacez la ligne de code contenant la fonction HTTPRequête par la ligne de code suivante :
      // Vérifie l'accessibilité du serveur fournisseur
      HTTPRequête("www.google.fr")
    2. Enregistrez le code (Ctrl + S).
  • Nous allons maintenant relancer l'analyseur de performances :
    1. Sous le volet "Projet", dans le groupe "Audit et performances", déroulez "Analyser les performances" et sélectionnez "Analyser les performances".
    2. Le test du projet se lance.
    3. Cliquez sur le bouton "Page de test de l'analyseur de performances".
    4. Cliquez sur le bouton "Traitement à analyser".
    5. Validez la fenêtre d'information et arrêtez le test du projet. La fenêtre du compte-rendu de l'analyseur de performances apparaît.
    6. Sous l'onglet "Cartographie", la fonction HTTPRequête n'apparaît plus avec la même importance.
  • Fermez la fenêtre de rapport de l'analyseur de performances.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 24
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire