[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

- Technofolies, votre évènement numérique de l'année par Le Blog (Vert) d'Arnaud JUND le 09-26-2014, 18:40

- Xamarin : From Zero to Hero par Fathi Bellahcene le 09-24-2014, 17:35

- Conférences d’Automne 2014 par Le blog de Patrick [MVP SharePoint] le 09-24-2014, 14:53

- [TFS] Supprimer un projet de Visual Studio Online par Blog de Jérémy Jeanson le 09-22-2014, 20:42

- Nouveau blog en anglais / New blog in english ! par Le blog de Patrick [MVP SharePoint] le 09-18-2014, 18:42

- [ #Yammer ] From Mailbox to Yammer and back / De votre messagerie vers Yammer et retour ! par Le blog de Patrick [MVP SharePoint] le 09-15-2014, 11:31

- [ #Office 365 ] New service settings panel / Nouveau panneau de paramétrage des services par Le blog de Patrick [MVP SharePoint] le 09-11-2014, 08:50

- Problème de déploiement pour une démo SharePoint/TFS? par Blog de Jérémy Jeanson le 09-10-2014, 21:52

- [ #Office365 ] Delve first impressions / Premières impressions sur Delve par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 16:57

- [ #Office365 ] How to change Administration console language ? / Comment changer la langue de la console d’administration ? par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 08:25