jueves, 12 de julio de 2012

Mejoras al rendimiento de Project Server 2007 [Parte 2]

Introducción

Este es el segundo artículo que enumera posibles acciones para mejorar el rendimiento de Project Server 2007. En el artículo anterior se enumeró como acción principal la desfragmentación de índices de la base de datos, lo que en principio generó una mejora del 28% en el tiempo de publicación de un proyecto.

En esta segunda parte vamos a probar otras acciones, que a continuación se enumeran:

  • Eliminación de recursos locales
  • Truncamiento del log de transacciones
  • Instalación de Microsoft Best Practices Analyzer
  • Control de CPU y Memoria
  • Ejecución de un plan completo de mantenimiento de base de datos
  • Eliminación de líneas base no utilizadas
  • Eliminación de calendarios locales no utilizados

 

Eliminación de recursos locales

Esta podría ser una de las posibles causas que afecten el rendimiento. En el proyecto que usamos de prueba, sólo contábamos con 4 recursos locales. Los eliminamos y vimos que el tiempo de publicación no cambió.

De todas maneras, es una acción que habría que tener en cuenta si tenemos muchos recursos locales, cosas que en principio no tiene mucho sentido en una instalación de Project Server, donde los recursos deberían ser corporativos.


Truncamiento del log de transacciones

Truncar los archivos de transacciones es una acción que podría afectar el rendimiento. En nuestro caso de ejemplo, había algunos archivos de tamaño importante. Los truncamos a todos y no obtuvimos mejoras. Lo que sí, recuperamos espacio en disco.

Para efectuar el truncamiento, utilizamos estos comandos (en el ejemplo están aplicados a la base de Reproting):

Use ProjectServer_Reporting

Go

Backup Log ProjectServer_Reporting With Truncate_Only

GO

Declare @LogFileLogicalName sysname

select @LogFileLogicalName=Name from sys.database_files where Type=1

print @LogFileLogicalName

DBCC Shrinkfile(@LogFileLogicalName,100)

 

Instalación de Microsoft Best Practice Analyzer

Microsoft Best Practices Analyzer for Windows SharePoint Services 3.0 and the 2007 Microsoft Office System es un producto de Microsoft que genera ciertos informes que pueden ayudar a los administradores en temas de rendimiento y escalabilidad.

Instalamos el producto descargándolo desde el siguiente enlace:

http://www.microsoft.com/en-us/download/details.aspx?id=11948

Una vez instalado y descomprimido, ejecutamos el siguiente comando:

sharepointbpa.exe -cmd analyze -substitutions SERVER_NAME nombre_servidor

Es posible que se obtenga un mensaje como el siguiente:

WARNING: No messages in file. Analysis may not have been run.

En nuestro caso sucedió porque no habíamos respetado el valor “SERVER_NAME”.

Una vez ejecutado, se obtiene un informe como el siguiente:

clip_image002

En particular, en este caso, el informe no generó recomendaciones que puedan mejorar el rendimiento.


Control de CPU y Memoria

Otras de las pruebas realizadas consistieron en controlar los recursos del servidor y del cliente. Controlamos la memoria y CPU de ambos utilizando el administrador de tareas de Windows en el momento de la publicación de un proyecto.

También ejecutamos algunas herramientas de SQL Server como Activity Monitor y Performance Monitor. No encontramos mayores problemas, pero es importante realizar estos controles. Podrían llevarnos a acciones como el cambio de configuración de nuestra granja, la separación física del servidor de SQL, entre otras.

image

clip_image006


Plan completo de mantenimiento de base de datos

En el documento anterior nos habíamos enfocado en la des-fragmentación de índices. En esta prueba, realizamos un plan completo que incluyó las actividades que se muestran en la siguiente imagen:

clip_image008

No se lograron mejoras significativas, pero de todas maneras sigue siendo una tarea recomendable. Un dato importante es que el plan completo llevó más de 30 minutos de ejecución:

image

 

Eliminación de líneas base no utilizadas

Otra prueba realizada consistió en la eliminación de las líneas base no utilizadas. En el proyecto de ejemplo eliminamos 5 líneas base de un total de 6. Esto redujo el tiempo de publicación de 5 a 3 minutos. Importante mejora.

 

Eliminación de calendarios no utilizados

Finalmente optamos por eliminar un conjunto de calendarios locales que tenía el proyecto, desde la opción Calendarios dentro de Herramientas / Organizador. Esto generó una mejora de un minuto aproximada.

No se puede decir con exactitud cuanta mejora atribuir a la eliminación de calendarios y cuánto a las línea base, aunque pareciera que la eliminación de las líneas base tiene un efecto más que importante.


Conclusión

Nuestro proyecto de prueba de 2.000 tareas tardaba originalmente 7 minutos en completar todas las tareas asociadas a la publicación, tal como se muestra en la imagen:

clip_image011

Luego de aplicar algunas acciones, se observa una reducción de 5 minutos, una mejora de 71% distribuida de la siguiente forma:

  • Desfragmentación de índices (2 minutos)
  • Eliminación de líneas base no utilizadas (2 minutos)
  • Eliminación de calendarios locales no utilizados (1 minuto)

En la imagen se ve el resultado:

clip_image013

La acción de desfragmentación de índices se puede programar para ejecutar periódicamente fuera del horario operativo.

Las acciones de eliminación de líneas base o calendarios locales, pueden ser buenas recomendaciones hacia los líderes para mantener sus proyectos más limpios, y por lo tanto con mejor rendimiento

Otras acciones que pueden mejorar el rendimiento tienen que ver con la revisión y reducción de ciertos parámetros como:

  • Cantidad de campos personalizados
  • Cantidad de recursos
  • Nivel de complejidad de las reglas de seguridad
  • Cantidad de proyectos en línea (no archivados)

0 comentarios:

Publicar un comentario en la entrada