El profiler es nuestro amigo!

Para la aplicación para cual estoy trabajando hace poco estuvimos haciendo pruebas de rendimiento de cara a optimizarla.


Aunque anteriormente hemos utilizado otros profilers de otras empresas para este tipo de pruebas, por el tipo de aplicación que estábamos desarrollando esta vez nos decantamos por utilizar el profiler que viene con Visual Studio Team System.


Si soy sincero, debo decir que no tenía mucha confianza en que fuese muy bueno pero debo decir que me ha sorprendido gratamente. Es bastante sencillo de utilizar y sin «mucho esfuerzo» se pueden conseguir unos resultados verdaderamente buenos.


En nuestro caso nos ha permitido encontrar cuellos de botella que limitaban enormemente el rendimiento de la aplicación y con poco esfuerzo hemos sido capaces de mejorarlo…. Cuántas aplicaciones saldrán con rendimientos pésimos por no invertir en revisar el código con un profiler!


Por cierto, para estas pruebas de carga utilizamos la versión beta de Visual Studio 2008. Empezamos usando la versión 2005 pero finalmente nos decantamos por usar la nueva versión. En lo relativo a pruebas de carga vienen unas cuentas mejoras que os serán de gran utilidad, incluida la compatibilidad con aplicaciones ASP.NET Ajax. Así que si estáis pensando en hacer este tipo de pruebas os recomiendo usar la nueva versión de Visual Studio.


A modo de resumen los pasos que deben seguir son los siguientes:



  1. Copiar la carpeta del profiler que se instala con Visual Studio al equipo donde se encuentra la aplicación a instrumentalizar.

  2. Compilar la aplicación y copiarla, junto a los pdbs, al equipo donde se harán las pruebas.

  3. Y ahora en la máquina, desde el directorio del profiler que hemos copiado, preparamos la aplicación:


    1. VSPerfCLREnv /globalsampleon

    2. VSPerfCLREnv /clron

    3. VsPerfCmd /START:SAMPLE  /OUTPUT:<fichero.vsp> /ATTACH:<assembly>

  4. Lanzar la prueba de carga desde visual studio.

  5. Finalizar la prueba y la instrumentalización.


    1. VsPerfCmd /DETACH

    2. VsPerfCmd /SHUTDOWN

  6. Copiar el fichero «.vsp» en el directorio que tengan tus ficheros y los pdbs y lo abres con el visual studio.

  7. Y nada, a analizar los todos…..el resultado te da información interesante sobre tus assemblies, métodos y demás que se usan en el ejecución de tu aplicación.

Si la aplicación es ASP.NET a estos pasos que comento habría que añadirle algún otro que se explica perfectamente en Profiling of ASP.NET Applications


Para la versión 2008 del profiler me parece también interesante este post de Buck Hodges.

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

Una respuesta a “El profiler es nuestro amigo!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *