Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Procédure pas à pas : profilage d'une application SharePoint

Cette procédure pas-à-pas montre comment utiliser les outils de profilage dans Visual Studio pour optimiser les performances d'une application SharePoint. L'exemple d'application est un récepteur d'événements de composants SharePoint qui contient une boucle inactive qui a un impact négatif sur les performances du récepteur d'événements de composants. Le profileur de Visual Studio vous permet de placer et d'éliminer la partie la plus coûteuse (plus lente exécution) du projet, également appelées le tracé chaud.

Cette procédure pas à pas présente les tâches suivantes :

RemarqueRemarque

Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

Commencez par créer un projet SharePoint.

Pour créer un projet SharePoint

  1. Dans la barre de menus, choisissez Fichier, Nouveau, Projet pour afficher la boîte de dialogue Nouveau projet.

  2. Développez le nœud SharePoint sous Visual C# ou Visual Basic, puis cliquez sur le noeud 2010.

  3. Dans le volet de modèles, sélectionnez le modèle Projet SharePoint 2010.

  4. Dans la zone de texte Nom, entrez ProfileTest, puis choisissez le bouton OK.

    L'Assistant Personnalisation de SharePoint s'affiche.

  5. Dans la page Spécifier le site et le niveau de sécurité pour le débogage, entrez l'URL du site du serveur SharePoint où vous souhaitez déboguer la définition de site, ou utilisez l'emplacement par défaut (http://system name/).

  6. Dans la section Quel est le niveau de confiance de cette solution SharePoint ?, choisissez la case d'option Déployer en tant que solution de batterie.

    Actuellement, vous ne pouvez profiler des solutions batteries. Pour plus d'informations sur les différences entre les solutions bac à sable (sandbox) et les solutions de batterie, consultez Considérations sur les solutions bac à sable (sandbox).

  7. Choisissez le bouton Terminer. Le projet s'affiche dans l'Explorateur de solutions.

Ensuite, ajoutez un composant au projet avec un récepteur d'événements pour le composant. Ce récepteur d'événements contiendra le code à profiler.

Pour ajouter un composant et un récepteur d'événements de composant

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel pour le nœud Composant, choisissez Ajouter un Composant, et conservez le nom de la valeur par défaut, Composant1.

  2. Dans l'Explorateur de solutions, ouvrez le menu contextuel du nœud Composant1, puis choisissez Ajouter receveur d'événement.

    Cela ajoute un fichier de code au composant avec plusieurs gestionnaires d'événements documentés et ouvre le fichier à modifier.

  3. Dans la classe de récepteur, ajoutez les déclarations de variables suivantes.

    // SharePoint site/subsite.
    private string siteUrl = "http://localhost";
    private string webUrl = "/";
    
  4. Remplacez la procédure FeatureActivated par le code suivant.

    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        try
        {
            using (SPSite site = new SPSite(siteUrl))
            {
                using (SPWeb web = site.OpenWeb(webUrl))
                {
                    // Reference the lists.
                    SPList announcementsList = web.Lists["Announcements"];
                            
                    // Add a new announcement to the Announcements list.
                    SPListItem listItem = announcementsList.Items.Add();
                    listItem["Title"] = "Activated Feature: " + properties.Definition.DisplayName;
                    listItem["Body"] = properties.Definition.DisplayName + " was activated on: " + 
    DateTime.Now.ToString();
                    // Waste some time.
                    TimeCounter();
                    // Update the list.
                    listItem.Update();                        
                }
            }
        }
    
        catch (Exception e)
        {
            Console.WriteLine("Error: " + e.ToString());
        }
    }
    
  5. Ajoutez la procédure suivante sous la procédure FeatureActivated.

    public void TimeCounter()
    {
        for (int i = 0; i < 100000; i++)
        {
            for (int j = 0; j < 10000; j++)
            {
                int result = i * j;
            }
        }
    }
    
  6. Dans l'Explorateur de solutions, ouvrez le menu contextuel du projet (ProfileTest), et choisissez Propriétés.

  7. Dans la boîte de dialogue Propriétés, choisissez l'onglet SharePoint.

  8. Dans la liste Configuration de déploiement active, choisissez Aucune activation.

    Cette configuration de déploiement permet d'activer manuellement les fonctionnalités ultérieurement dans SharePoint.

  9. Enregistrez le projet.

Maintenant que le projet SharePoint est prêt, configurez-le et déployez-le sur le serveur SharePoint.

Pour définir et déployer l'application SharePoint

  1. Dans le menu Analyser, choisissez Lancer l'Assistant Performance.

  2. Dans la page de l'Assistant Performance, laissez la méthode de profilage sur Échantillonnage de l'UC et cliquez sur le bouton Suivant.

    Les autres méthodes de profilage peuvent être utilisées dans des situations avancées de profilage. Pour plus d'informations, consultez Fonctionnement des méthodes de profilage.

  3. Dans la page deux de l'Assistant Performance, laissez la cible de profil sur ProfileTest et cliquez sur le bouton Suivant.

    Si une solution contient plusieurs projets, ils apparaissent dans cette liste.

  4. Dans la page trois de l'Assistant Performance, désactivez la case à cocher Activer le profilage d'interaction de couche, puis cliquez sur le bouton Suivant.

    Le composant de profilage (TIP) de l'interaction de couche permet de mesurer les performances des applications qui interrogent des bases de données et d'indiquer le nombre de fois qu'une page Web est demandée. Étant donné que ces données ne sont pas requises pour cet exemple, nous n'activerons pas ce composant.

  5. Dans la page quatre Assistant Performance, laissez la case Profilage de lancement après l'exécution de l'Assistant sélectionnée, puis cliquez sur le bouton Terminer.

    L'Assistant vérifie le profilage d'application sur le serveur, affiche la fenêtre Explorateur de performances, puis établit, déploie, et exécute l'application SharePoint.

Activez le composant dans SharePoint, déclenche le code d'événement FeatureActivation à exécuter.

Pour exécuter l'application

  1. Dans SharePoint, ouvrez le menu Actions de site, puis choisissez Paramètres du site.

  2. Dans la liste Actions de site, sélectionnez le lien Gérer les caractéristiques du site.

  3. Dans la liste Composant, cliquez sur le bouton Activer à côté de ProfileTest Feature1.

    Dans ce cas il y a une pause, en raison de la boucle inactive appelée dans la fonction FeatureActivated.

  4. Dans la barre Lancement rapide, choisissez Listes puis dans la liste Listes, choisissez Annonces.

    Notez qu'un nouvel avertissement a été ajoutée à la liste indiquant que le composant est activé.

  5. Le site SharePoint se ferme.

    Après avoir fermé SharePoint, le Générateur de profils crée et affiche un exemple de rapport de profilage et l'enregistre dans un fichier .vsp dans le dossier du projet de ProfileTest.

Maintenant que vous avez exécuté et profilé l'application SharePoint, affichez les résultats des tests.

Pour afficher et interpréter les résultats de profilage

  1. Dans la section Fonctions effectuant la plupart du travail individuel de l'exemple de rapport de profilage, notez qu' TimeCounter se trouve en haut de la liste.

    Cet emplacement indique que TimeCounter est l'une des fonctions avec le nombre le plus élevé d'exemples, ce qui signifie qu'il est l'un des plus importants goulots d'étranglement des performances de l'application. Toutefois, cette situation n'est pas étonnante, parce qu'elle a expressément conçue pour la démonstration.

  2. Dans la section Fonctions effectuant la plupart de travail individuel, sélectionnez le lien ProcessRequest pour afficher la distribution de coût de la fonction ProcessRequest.

    Dans la section Fonctions appelées pour ProcessRequest, notez que la fonction FeatureActiviated est répertoriée comme la fonction appelée la plus coûteuse.

  3. Dans la section Fonctions appelées, cliquez sur le bouton FeatureActivated.

    Dans la section Fonctions appelées pour FeatureActivated, la fonction TimeCounter est répertoriée comme la fonction appelée plus coûteuse. Dans le volet Affichage du code de fonction, le code en surbrillance (TimeCounter) est la zone réactive et indique où la correction est nécessaire.

  4. Fermez l'exemple de rapport de profilage.

    Pour afficher le rapport à tout moment, ouvrez le fichier de .vsp dans la fenêtre Explorateur de performances.

Maintenant que la fonction de la zone réactive dans l'application SharePoint a été identifiée, résolvez- la.

Pour réparer le code et reprofiler l'application

  1. Dans le code du récepteur d'événements de composant, excluez à l'aide de commentaires l'appel de méthode TimeCounter dans FeatureActivated pour l'empêcher d'être appelé.

  2. Enregistrez le projet.

  3. Dans Explorateur de performances, ouvrez le dossier de Cibles, puis sélectionnez le nœud ProfileTest.

  4. Dans la barre d'outils Explorateur de performances, dans l'onglet Actions, cliquez sur le bouton Démarrer le profilage.

    Si vous souhaitez modifier les propriétés de profilage avant de reprofiler l'application, cliquez plutôt sur le bouton Lancer l'Assistant Performance.

  5. Suivez les instructions dans la section Exécuter l'application SharePoint, plus haut dans cette rubrique.

    Le composant doit vérifier beaucoup plus rapidement à présent qu'il a défini l'appel à la boucle inactive. Le rapport de profilage d'exemple doit le refléter.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft