Optimización del rendimiento en Project Server 2013

Resumen: lea las instrucciones para optimizar el rendimiento de una implementación de Project Server 2013.
Se aplica a: Project Server 2013

Optimizaciones

Este documento y contenido relacionado contiene información y recomendaciones para optimizar una granja de servidores de Project Server 2013 para optimizar el rendimiento.

Baselining

Generalmente, le recomendamos que limite el número de líneas de base que guarde en cualquier momento determinado. Existe un límite máximo de solo 11 líneas de base admitidas en un momento determinado.

Optimizaciones del servidor de bases de datos

Dado que Project Server 2013 es una aplicación intensiva de datos, la optimización de su nivel de bases de datos puede agregar mejoras considerables al rendimiento. Consulte los temas sobre planeación de la capacidad de almacenamiento y configuración de SQL Server para obtener instrucciones detalladas sobre la optimización de la configuración de SQL Server. Algunas de las recomendaciones aquí expuestas destacan las realizadas en los temas de SQL Server:

  • Separe los archivos de base de datos y los archivos de registro de transacciones de las unidades del SO, preferiblemente cada uno con su propia partición. Esto sirve para reducir la contención de ES entre el sistema operativo host y SQL Server y también entre los archivos de base de datos y de registro de SQL, que tienden a tener diferentes patrones de actualización en función de la estrategia de recuperación que se use.

  • Separe TempDB en su propia partición. Divida la base de datos en varios archivos físicos, lo ideal es dividirla en tantos archivos como tenga procesadores en el servidor de base de datos.

Considere la posibilidad de usar un subsistema de RAID para las necesidades de sus datos. Nota: RAID 5 es aceptable para tamaños de conjunto de datos medianos y grandes, pero RAID 10 es ideal.
Nota: Mueva los índices a su propia partición.

Optimización de proyectos maestros

Cuando use la función Proyectos maestros en Project Server, tenga en cuenta que los cambios en el programa de proyecto maestro tendrán un impacto en los programas de subproyectos dentro de los proyectos maestros. Por lo tanto, es posible que los cambios de programación de proyectos maestros muy grandes se ejecuten lentamente, ya que quizá sus planes de subproyecto deban actualizarse.

Optimizaciones de la configuración de seguridad

Nota: Las optimizaciones no son necesarias si usa el modo de permiso de SharePoint.

En el modo de permisos de Project, la configuración de seguridad que seleccione para sus usuarios puede tener un efecto significativo sobre las características del rendimiento. Esto es así porque determinan la cantidad de datos que cargan los usuarios cuando ven proyectos y también la complejidad de las comprobaciones de seguridad que se realizan para determinar los conjuntos de datos sobre los que tienen permisos los usuarios.

Por ejemplo, los administradores tendrán acceso a todos los proyectos que haya almacenado en Project Server y, por lo tanto, se les exige que carguen todos los datos al interactuar con ellos. Es posible que los miembros del equipo no necesiten obtener acceso a todos los datos, por lo que podemos limitar la cantidad de datos que se les envían usando categorías de seguridad:

  • Use los grupos y las categorías en los casos que sea posible en lugar de permisos más granulares que requieran una complejidad adicional en las comprobaciones de seguridad.
  • Intente limitar los permisos de seguridad de los usuarios a los proyectos a los que necesiten tener acceso. De este modo, solo cargan los datos que necesitan al interactuar con Project Server.

Optimizaciones de vistas

  • Se debe intentar limitar los datos que se presentan a los usuarios restringiendo el número de columnas de una vista determinada a solo las columnas que necesiten ver los usuarios con permiso sobre esa vista. Además, tenga en cuenta que la adición de columnas Campo personalizado tendrá un efecto más perjudicial en el rendimiento de la vista.

  • Quizás le interese también usar filtros para limitar la cantidad de datos que se deben cargar cuando cargue una vista determinada. No obstante, tenga en cuenta que los filtros con una lógica compleja requieren computación adicional y, como consecuencia, pueden ralentizar el rendimiento.

Optimizaciones de campos personalizados

El impacto en el rendimiento del uso de campos personalizados depende de varios aspectos de los campos personalizados que se usen (tanto los campos personalizados de departamento como de empresa). A continuación se muestran algunas consideraciones y sugerencias sobre los aspectos de rendimiento de los campos personalizados.

  • El impacto en el rendimiento de sus campos personalizados dependerá de lo siguiente:

    • El impacto en el rendimiento de sus campos personalizados dependerá de lo siguiente:

      • La cantidad de datos almacenados en los campos personalizados que use. (¿Generalmente son escasos, o bien hay grandes cantidades de datos en una columna determinada de campo personalizado?).
      • En el caso de los campos de fórmula, cuanto más complejas sean las fórmulas empleadas, más importante será el impacto negativo sobre el rendimiento.
      • El nivel en el que aparecen los campos personalizados:
    • La cantidad de datos almacenados en los campos personalizados que use. (¿Generalmente son escasos, o bien hay grandes cantidades de datos en una columna determinada de campo personalizado?).

    • En el caso de los campos de fórmula, cuanto más complejas sean las fórmulas empleadas, más importante será el impacto negativo sobre el rendimiento.

    • Nivel en el que se producen los campos personalizados. A menudo existen muchas más tareas que proyectos en un conjunto de datos y, por lo tanto, los campos personalizados aplicados al nivel de la tarea tendrán un impacto negativo más importante sobre el rendimiento que los campos personalizados del nivel de proyecto.

  • Por lo general, lo que se recomienda es intentar limitar el número de campos personalizados que se usen, en especial en el nivel de tarea. Como regla general, intente usar menos de 10 a 15 campos personalizados de tarea de nivel de tarea.

  • Los campos personalizados de tarea y asignación son el principal cuello de botella al guardar desde Project Professional al servidor en la mayoría de los conjuntos de datos personalizados que se observan.

Optimizaciones de campos personalizados locales

De acuerdo con las recomendaciones sobre la optimización del uso de campos personalizados, optimice el uso de campos de fórmula locales limitando el número de campos de fórmula locales que se usen en el cliente de Project.

El impacto en el rendimiento de los campos personalizados depende especialmente de limitar el uso de campos de fórmula siempre que sea posible, ya que requieren una transferencia de datos adicional que aumente el tiempo necesario para guardar en el servidor.

Optimizaciones de carga de páginas

Uno de los factores más importantes para determinar el tiempo de carga de una página determinada es la cantidad de datos a los que se debe acceder en una solicitud de página determinada. Esto viene en gran medida determinado por el número de elementos web y los tipos de elementos web, así como por la cantidad de datos que presentan en una página determinada. A continuación se detallan algunas recomendaciones generales sobre la limitación de cargas de sus páginas de Project Server:

  • Limite la cantidad de datos que estos elementos web cargan solo a los datos que se necesitan cargar.

  • Las consideraciones sobre las cargas son particularmente importantes para las páginas de detalles de proyectos (PDP), en las que suele haber gran número de elementos web en una sola página y existe más personalización.

Optimizaciones de colas

Project Server 2013 usa un sistema de colas para gestionar cómo atiende las solicitudes, lo que le permite atender un gran número de solicitudes en total. Determinados valores de configuración relacionados con el modo en que funciona la cola se pueden alterar mediante la página Configuración de cola. En esta sección se explica brevemente la configuración que puede modificar y el modo de optimizarla para sus necesidades. Número máximo de subprocesos (1-20, valor predeterminado 4): esto determina cuántos trabajos puede procesar la cola en paralelo en un momento dado. Tenga en cuenta que esto se aplica a todas las máquinas de la granja de servidores: si tiene tres servidores de aplicaciones y establece este valor en 4 para la cola de proyectos, puede procesar hasta 12 trabajos de proyecto independientes a la vez.

Número máximo de subprocesos (1-20, valor predeterminado 4): esto determina cuántos trabajos puede procesar la cola en paralelo en un momento dado. Tenga en cuenta que esto se aplica a todas las máquinas de la granja de servidores: si tiene tres servidores de aplicaciones y establece este valor en 4 para la cola de proyectos, puede procesar hasta 12 trabajos de proyecto independientes a la vez.

Si observa que los trabajos que aparecen en la cola están quitando una cantidad excesiva de recursos de una carga de trabajo sincrónica, puede intentar lo siguiente:

Si tiene una gran cantidad de trabajos que se procesan en paralelo (es decir, ve diversos trabajos en el estado "en proceso" al mismo tiempo al comprobar el estado de la cola), puede intentar reducir la cantidad de subprocesos.

Optimizaciones de procesos de carga de trabajo

Ciertos aspectos de cómo opera y mantiene la implementación de Project Server pueden ayudar a mejorar el rendimiento percibido de Project Server. En esta sección se trata una lista de modificaciones de procesos relacionados con la empresa o las TI que pueden mejorar el rendimiento percibido de su Project Server durante períodos en los que haya más probabilidades de que sus usuarios interactúen con el sistema.

  • Envíos de partes de horas y estados:
    • Si es posible, intente escalonar las horas a las que los usuarios envían actualizaciones de estado y partes de horas. De este modo se reducirá la presión sobre el sistema durante los períodos de más actividad mediante la distribución de la carga durante intervalos de tiempo mayores.
  • Backups:
    • Si es posible, debe intentar ejecutar procesos de copia de seguridad durante períodos no máximos, ya que se trata de procesos que consumen muchos recursos que disminuirán el rendimiento percibido para los usuarios que intentan usar el sistema mientras se ejecutan.
  • Informes:
    • Al igual que con los procesos de copia de seguridad, debe intentar ejecutar la compilación de cubos OLAP para generar informes durante períodos no máximos, ya que se trata de procesos que consumen muchos recursos que disminuirán el rendimiento percibido para los usuarios que intentan usar el sistema mientras se ejecutan.
  • Modo de permisos de SharePoint:
    • Si el modo de permisos de SharePoint está habilitado "SharePoint User Sync" (Sincronización de usuarios de SharePoint) no es necesario, lo cual permite un mejor rendimiento.

Optimizaciones de flujos de trabajo

Cuando use las funciones de los flujos de trabajo, tenga en cuenta las siguientes acciones que afectarán al rendimiento de su implementación:

  • Puede tardar mucho en cargar la página "Cambiar o reiniciar flujos de trabajo" en Configuración del servidor cuando dispone de un gran número de proyectos almacenados en la base de datos.
  • Reiniciar o cambiar el EPT para un gran número de proyectos desde la página Cambiar o reiniciar flujos de trabajo en Configuración del servidor.
  • Tener un proceso de aprobación con un gran número de usuarios.
  • Tener proyectos enviados al mismo tiempo desde una etapa del flujo de trabajo sin necesidad de protección.

Por lo general, se recomienda minimizar estas acciones o ejecutarlas en períodos de poco tráfico para optimizar el rendimiento percibido.

Optimizaciones de soluciones personalizadas (programabilidad)

Al desarrollar soluciones personalizadas que interactúen con las interfaces programables de Project Server, tenga en cuenta las siguientes recomendaciones de rendimiento:

  • Si desea implementar controladores de eventos, tenga en cuenta que los controladores de eventos son sincrónicos. Tenga cuidado al emplear controladores de eventos en sus soluciones personalizadas, ya que si se usan de modo ineficaz pueden aumentar considerablemente el rendimiento de Project Server.

    Nota:

    Los controladores de eventos se pueden ejecutar en otra máquina.

  • Su solución personalizada debe intentar limitar las llamadas que realiza a operaciones de cola en Project Server para evitar la sobrecarga de la cola.
  • En el caso de aplicaciones de línea de negocio (LOB), cuando automatice el movimiento de datos entre Project Server y otras aplicaciones, si observa que las sincronizaciones con estos tipos de aplicaciones degradan considerablemente el rendimiento, se recomienda ejecutarlas durante períodos de uso de poca actividad.
    • Se recomienda encarecidamente que los clientes comprueben y supervisen el rendimiento de sus aplicaciones de LOB, además de su rendimiento por parte de los usuarios.
    • En los casos en que sea posible, intente usar campos intrínsecos de Project Server en lugar de campos personalizados para lograr la sincronización que desea entre Project Server y las aplicaciones de LOB.
    • Intente minimizar los datos que esté moviendo entre aplicaciones LOB y Project Server al subconjunto más pequeño que necesite para lograr la función deseada.

En los artículos sobre el SDK de Project Server 2013 y artículos relacionados se hacen más recomendaciones sobre el mantenimiento de un alto rendimiento al desarrollar soluciones personalizadas.

Vea también

Introducción a la planeación del rendimiento y la capacidad en Project Server 2013

Estrategia de planeación de la capacidad de Project Server 2013

Recomendaciones de hardware de rendimiento y capacidad para Project Server 2013

Topologías con incremento de la escalabilidad vertical y horizontal en Project Server 2013

Optimización del rendimiento en Project Server 2013

Contadores de rendimiento en Project Server 2013

Solución de problemas de rendimiento en Project Server 2013

Conjuntos de datos típicos (Project Server 2013)