Optimizando aplicaciones

Aprovechando para pulir los últimos de detalles antes de liberar la versión final de Cooperator Framework, estuve estos días optimizando un proceso que ya tenemos en producción desarrollado sobre nuestro Cooperator y que lee y escribe intensivamente en la base de datos.

Para la optimización use estas 3 herramientas.

1) SQL Profiler: Con el pude ver las conexiones abiertas por la aplicación, a que Stored Procedures estaba llamando en cada caso, cuantas lecturas/escrituras se hacian en cada operación, etc.… Ver más.

2) CLR Profiler: Es una herramienta que básicamente chequea como  actua el Garbage Collector y como es el ciclo de vida de los objetos dentro de nuestra aplicación. Muy buena, también me permitió ver que objetos tenía mas cargados, que tipos eran más usados, etc.. Ver más.

3) Enterprise Performance Tool: Aunque no funciona del todo bien en Windows Vista, la utilicé para “medir”, cuales son los métodos que más tardan en ejecutarse, cuales son los métodos más llamados, etc.. Ver más.

Recomiendo revisar los procesos con esas 3 herramientas ya que se puede ajustar muchísimas cosas que de otra forma no se pueden ver. Yo en mi caso, ajustando tanto las librerías de clases base de Cooperator, como el código de mi aplicación logre bajar a más de la mitad el tiempo en que  se ejecutaba el proceso y a la vez consumir menos recursos.
Por ejemplo con la herramienta de rendimiento de Visual Studio 2005, me di cuenta que estaba llamando más de 1.000.000 de veces a un determinado método. Bueno después de cambiar algunas cosas logre reducir notablemente ese caso particular poniendo una colección en un diccionario de generics y preguntando si tal objeto estaba en el diccionario… Es impresionante como caminan los diccionarios en .Net 2,0 ! 

Saludos,
Eugenio

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s