[VS2008] 3 façons de profiler une application web

Voilà une discussion que j’ai souvent avec des clients :

Eux : “Bon, maintenant je sais que cette pages est gourmande, elle est longue à exécuter, elle consomme du temps processeur… mais comment je sais où est le problème ‘dans le code’ ?”

Moi : “Et bien il suffit d’utiliser le profiler de Visual Studio pour obtenir les temps d’exécution des méthodes par exemple, et d’isoler le code coupable. L’idéal, c’est de lancer le profiler pendant un test.”

Eux : “On peut faire ça à distance ? Pendant que j’exécute mon test de montée en charge ?”

Moi (Faiblissant) : “Euh… non…” (Pas dans la version 2008 en tout cas :-))

Bref, tout ça pour dire que non, on ne peut pas profiler à distance un site ASP.NET. Mais ça n’est pas trop important, car en attendant une prochaine version, il existe des solutions :

·       Profiler l’application en local, en exécutant un test de charge léger sur celle-ci. L’idée est d’avoir un point de référence en termes de temps d’exécution sur la machine de développement. On pourra alors facilement relancer une séance de profiling sur la même machine après une phase d’optimisation et comparer les rapports (avec l’outil intégré, c’est un jeu d’enfant)

·       Installer Visual Studio sur la machine testée. Si, si. Et je te vois, lecteur averti, me maudire virtuellement à coup de “C’est pas propre”, “Ca va fausser les résultats” et autres révolteries. Mais bon, il faut avouer que le plus souvent, la solution la plus simple est de lancer le profiling directement sur le serveur (En continuant bien entendu à exécuter le test de charge à partir d’une autre machine !)

·       La dernière solution est d’installer uniquement la “partie profiler” de Visual Studio, appelée “Stand-alone Profiler”. Cela met à disposition les exécutables utiles au profiling… qu’il faudra appeler manuellement pour instrumenter les assemblies, démarrer la collecte des résultats, générer le fichier de rapport (.vsp) qu’on pourra ensuite récupérer et analyser dans un Visual Studio sur une autre machine.

Dans tous les cas, je vous conseille de toujours simuler l’activité de votre application via un test automatique lorsque vous la profilez. Vous pourrez ainsi plus facilement refaire une phase de profiling par la suite qui générera une activité identique et permettra une comparaison des résultats beaucoup plus réaliste.

Pour plus d’information sur le profiling de Visual Studio 2008 en général, je vous redirige vers cette page de la MSDN : http://msdn.microsoft.com/fr-fr/library/bb385770.aspx

Concernant le profiling via le Stand-alone profiler, je vous conseille un très bon article de David Gray (en anglais) : http://blogs.msdn.com/graycode/articles/AspNetOffRoadProfilingArticle.aspx ainsi que la référence MSDN des commandes disponibles pour chaque étape de profiling : http://msdn.microsoft.com/fr-fr/library/ms182401.aspx

Bon profiling ! :)

 

.Dispose();

 

Publié jeudi 11 décembre 2008 08:59 par Etienne Margraff
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires


Les 10 derniers blogs postés

- Créer un périphérique Windows To Go 10 ! par Blog de Jérémy Jeanson le 11-21-2014, 04:54

- RDV à Genève le 12 décembre pour l’évènement “SharePoint–Office 365 : des pratiques pour une meilleure productivité !” par Le blog de Patrick [MVP Office 365] le 11-19-2014, 10:40

- [IIS] Erreurs web personnalisées par Blog de Jérémy Jeanson le 11-19-2014, 00:00

- BDD/TDD + Javascript par Fathi Bellahcene le 11-16-2014, 16:57

- Sécuriser sans stocker de mots de passe par Blog de Jérémy Jeanson le 11-15-2014, 08:58

- Où télécharger la preview de Visual Studio 2015 ? par Blog de Jérémy Jeanson le 11-13-2014, 21:33

- Les cartes sont partout ! par Le blog de Patrick [MVP Office 365] le 11-13-2014, 17:26

- [ #Office365 ] Courrier basse priorité ! par Le blog de Patrick [MVP Office 365] le 11-12-2014, 08:56

- [Oracle] Fichier oranfsodm12.dll absent du package client par Blog de Jérémy Jeanson le 11-10-2014, 20:44

- [ #Office365 ] Le chapitre 1 des Groupes est écrit, et alors ? par Le blog de Patrick [MVP Office 365] le 11-10-2014, 20:23