Informes de rendimiento de TFS

Hola a todos, veo en el blog del ex-MVP (ahora trabaja en Microsoft), Grant Hollyday, que ha creado un paquete de informes para  poder comprobar que los servidores están funcionando correctamente e identificar posibles cuellos de botella y solucionarlos. Decir, que el TFS del que se encarga tiene (sacado de su blog) 3500 usuarios activos y 10.000.000 (si, no sobra ningún 0) de peticiones de código fuente y work items al día.

Como podéis imaginar, gestionar un servidor así, no es sencillo, y por eso crearon estos informes, para poder gestionar esto.

Y ahora los ponen a nuestra disposición: TFS Performance Report Pack.zip (~250kb)

Bueno voy a hacer una traducción/resumen de lo que pone Grant en su blog, para los que no  leáis la lengua de Shakespeare.

Los requerimientos, que también podéis ver en su blog son:

  • SQL Server Reporting Services 2008*
  • Un usuario con permisos de lectura en la base de datos del servidor TfsActivityLogging.
  • Una fuente de datos compartida para usar con el informe
  • Habilitar el log de TFS, esto ya es el comportamiento por defecto de TFS 2008.
    • En TFS 2005hay que habilitar el indicador “commandLogging” en el web.config general de TFS, también dice que la consulta del informe puede tener que hacer cambios.

Grant comenta en el blog que, técnicamente no hay necesidad de SQL Server 2008, pero bueno, al igual que el, yo os recomiendo que vayáis migrando, puesto que lo necesitaréis para TFS 2010.

Instalación

El zip contiene los ficheros *.rdl de definición de los informes, que están diseñados para ser instalados en el servidor de reporting de nuestro TFS.

Para instalarlos, y estando logados con una cuenta con permisos de administrador en TFS:

  1. Abrimos el navegador de internet y entramos a /Reports">http://<servidor>/Reports
  2. Creamos un nuevo directorio que se llame “Estado servidor”.
  3. Creamos una nueva fuente de datos compartida llamada “TfsActivityReportDS”, y ponemos la siguiente cadena de conexión:
    1. Data Source=localhost;Initial Catalog=TfsActivityLogging
    2. En las credenciales pondremos un usuario que tenga acceso a la base de datos de TfsActivityLogging del TFS.
    3. Seleccionamos que use creedenciales de Windows para conectar.

Los informes incluidos son:

Tiempos de ejecución

Este informe muestra el tiempo de ejecución por comando y por usuario, ayudándonos a comprobar, que comandos son los que sobrecargan más al servidor por un lado, y que usuarios/herramientas son los que más carga crean en el sevidor

image

image

Estado del servidor – cola de peticiones a Source Control

Como bien dice Grant, el control de código fuente es, con diferencia, la aplicación que más recursos consume del servidor.

A lo largo del día, las peticiones se van encolando para ser procesadas como transacciones a la base de datos, con este informe, podermos ver si tenemos alguna petición causándonos un cuello de botella, y cuál es el estado actual de la cola de transacciones.

Si vemos mucho “rojo” significa que tenemos operaciones muy largas ejecutándose y que podemos tener problemas.

image

 

 

Estado del servidor – los usuarios “top” que se saltan el proxy

Para obtener una mayor calidad de servicio, cuando tenemos muchos usuarios accediendo al TFs y haciendo muchas peticiones de Version Control, es muy recomendable instalar proxies de TFS, que incluso los podemos poner mediante un cluster de balanceo de carga, liberando así carga del servidor.

Con este informe, la gente de IT, puede descubrir que usuarios están accediendo  directamente al servidor TFS, sin pasar por servidores Proxy, para que puedan mejorar la calidad de servicio configurando esos usuarios para que usen proxy.

image

Estado del servidor – históricos de rendimiento

Este informe nos muestra un resumen de los tiempos medios de respuesta históricos tanto del sistema de Work Items, como de Version Control.

Aquí podemos ver, de media, cuanto tienen que esperar los usuarios para procesar sus peticiones, y que días de la semana son los más críticos a nivel de rendimiento.

clip_image002

image

 

Estado del servidor – rendimiento reciente

Este informe es similar al anterior pero con más nivel de granularidad sobre el rendimiento del servidor.

Empieza con una vista del tiempo medio de respuesta del servidor a nivel general, y posteriormente nos muestra la información relativa a las descargas de ficheros de Version Control y el tiempo medio de respuesta para el mismo periodo.

Con este informe podemos ver la relación entre el rendimiento degradado del servidor y el tiempo medio de respuesta de los dos subsistemas (WI y VC).

Como afecta un número grande de descargas al rendimiento general del servidor, y la “salud” general del servidor.

clip_image002[4]

clip_image004[4]

image

 

Bueno espero que esta información os haya sido tan útil como a mí, aquí os dejo de nuevo el link al post de Grant, y si queréis por aquí me tenéis también para cualquier aclaración:

http://blogs.msdn.com/granth/archive/2009/02/03/announcing-tfs-performance-report-pack.aspx


Este post es cross-posting desde www.lfraile.net y estoy muy interesado en tu opinión. ¿te vienes por aquí y me dejas un comentario?

Published 4/2/2009 23:33 por Luis Fraile
Comparte este post:
http://geeks.ms/blogs/lfraile/archive/2009/02/04/informes-de-rendimiento-de-tfs.aspx