Ajustar o desempenho do Project Online

Com o lançamento do Project Online há alguns anos, organizações de todos os tamanhos têm sido capazes de usar o rico conjunto de recursos de PPM (Gerenciamento de Portfólio de Projetos) da Microsoft dentro da conveniência de nossa infraestrutura de nuvem Office 365.

Embora um dos benefícios óbvios do uso de um serviço baseado em nuvem seja evitar ter que lidar com implantação, instalação e ajuste de hardware e software, ainda há algumas etapas que você pode tomar para garantir que sua organização obtenha o melhor desempenho do Project Online.

Project Online oferece muitas configurações e configurações de personalização, mas as personalizações podem ter um impacto no desempenho. Este artigo destaca o impacto no desempenho e as compensações de algumas das configurações de Project Online mais comuns, para que você possa tomar decisões informadas quando se trata de personalizar e configurar Project Online.

Este artigo faz parte do planejamento de rede e ajuste de desempenho para Office 365 projeto.

práticas recomendadas do Office 365 e do SharePoint Online

Há uma riqueza de informações sobre planejamento de rede e ajuste de desempenho para o SharePoint Online e Office 365. Todas essas informações são relevantes para Project Online clientes e devem ser consultadas além das práticas recomendadas a seguir específicas para Project Online.

Project Online configuração e personalização

Muitos elementos de um site do Project Web App podem ser configurados e personalizados, desde configurações administrativas até permissões e desde configurações de colaboração até aparência. Vamos examinar as configurações que podem potencialmente ter um impacto no desempenho geral do site do Project Web App.

Abordaremos:

  • Modos de permissões de segurança

  • Tipos de Projeto da Empresa

    • Configuração do site do projeto

    • Mecanismos de sincronização entre Project Online e SharePoint Online

  • Sincronização do Pool de Recursos do Active Directory

  • Personalização e aparência da interface do usuário

  • PDP (Páginas de Detalhes do Projeto) e fluxos de trabalho

  • Tratamento de Eventos

  • OData e relatórios

  • cota Project Online

(Algumas dessas informações se aplicam ao Project Server 2013 e Project Server 2016 também.)

Modos de permissão: SharePoint ou Project

Com Project Online e o Project Server 2013, introduzimos um modelo de permissão novo e simplificado chamado modo de permissão do SharePoint, em oposição ao modo de permissão herdado do Project. A comparação entre ambos os modos pode ser encontrada no Technet.

Novas instâncias de Project Online são provisionadas no modo de permissão do SharePoint por padrão e estamos confiantes de que esse modo atenderá às necessidades da grande maioria dos clientes. Usando esse modo, você pode gerenciar a autorização do usuário por meio de grupos e permissões regulares do SharePoint.

O modo de permissão do projeto oferece um alto grau de personalização, mas pode ter um preço em termos de desempenho. Se você criar centenas de categorias e confiar fortemente em permissões dinâmicas por meio de sua RBS (Estrutura de Divisão de Recursos), isso poderá diminuir a experiência do usuário final para usuários que têm acesso a muito conteúdo, como administradores e gerentes de portfólio.

Observação

Trocar entre o modo de permissão do SharePoint e o modo de permissão do Project Server exclui todas as configurações relacionadas a segurança. Se você alternar do modo de permissão do SharePoint para o modo de permissão clássico do Project Server, deverá configurar manualmente sua estrutura de permissões de segurança no Project Server 2013 e Project Server 2016. Alternar do modo de permissão do Project Server de volta para o modo de permissão do SharePoint exclui as informações de permissões de segurança do Project Server 2013 e Project Server 2016.

Recomendação:

Quando possível, mantenha o modo de permissão padrão do SharePoint para obter um melhor desempenho geral. Se você precisar usar o modo de permissão do Project, limite suas personalizações o máximo possível.

Tipos de Projeto da Empresa

Um EPT ( Enterprise Project Types ) representa um wrapper que encapsula fases, estágios, um único fluxo de trabalho e PDPs (Páginas de Detalhes do Projeto).

Os EPTs também permitem que você defina:

  • Configuração do site do projeto

  • Mecanismos de sincronização entre Project Online e SharePoint Online

Configuração do site do projeto

Os sites de projeto são criados com base na funcionalidade principal do SharePoint. Criar sites de projeto não é um processo leve e decidir se e quando sua organização pode precisar de sites de projeto pode percorrer um longo caminho para melhorar a experiência geral do usuário final.

Muitas organizações usam Project Online para coletar e classificar propostas de projeto antes de decidir quais projetos financiar. Se os sites de projeto forem definidos para serem criados automaticamente na primeira vez que um projeto for publicado, todas as propostas de projeto, mesmo as que não fizerem o corte, obterão um site de projeto. Esses sites desnecessários teriam que ser limpos manualmente depois.

Uma abordagem melhor, se você decidir usar sites de projeto, é permitir que o usuário escolha quando criar seu site de colaboração ou, melhor ainda, tê-lo criado por um fluxo de trabalho assim que a proposta do projeto atingir um determinado portão de estágio.

Atualmente, o SharePoint Online limita o número de subsites que podem ser criados para cada coleção de sites. Um EPT permite definir em qual coleção de sites criar novos sites de projeto. Isso permitirá que você crie um site de projeto para cada projeto, pois você pode incluí-los em várias coleções de sites.

Sites de projeto em coleções de sites PWA.

Por exemplo, se você tiver uma coleção de sites dedicada ao seu departamento de TI, poderá configurar o EPT de projetos de TI para criar sites do Project fora do https://contoso.sharepoint.com/sites/IT .

Local de criação do site do projeto.

Recomendação:

Se sua organização usar sites de projeto, selecione a opção para criá-los sob demanda em vez de automaticamente. Isso acelera a primeira experiência de publicação e evita a criação de sites e conteúdos desnecessários.

Para cada EPT, você pode configurar essa opção por:

  1. Em Configurações do Project Web App, clique em Tipos de Projeto da Empresa.

  2. Selecione o EPT para o qual você precisa alterar a configuração.

  3. Na página configurações do EPT, na seção Site do Projeto , selecione Permitir que os usuários escolham.

    Opções de criação de site de projeto.

    Crie sites de projeto em sua própria coleção de sites pelo EPT. Mantenha o número de sites de projeto em uma coleção de sites abaixo dos limites do SharePoint Online do SharePoint Online.

O que você sincroniza?

Project Online é executado em cima do SharePoint Online da mesma forma que o Project Server é executado na parte superior do SharePoint Server. Como resultado, temos que manter em sincronização um determinado número de componentes entre dois sistemas. Essas sincronizações podem ser demoradas e, dependendo das suas necessidades comerciais, às vezes podem ser desnecessárias. Este artigo explora todos esses vários sistemas de sincronização para ajudá-lo a decidir quais você precisa e quais podem ser desativados com segurança. Algumas dessas configurações já estão desativadas por padrão.

Nas seções a seguir, discutimos:

  • Sincronizar permissões de usuário para seu site de projeto

  • Sincronizar listas de tarefas do SharePoint para projetos empresariais

Sincronizar permissões de usuário

Os Sites de Projeto são workspaces em que as equipes de projeto podem colaborar, carregar documentos e levantar problemas. Quando as permissões de usuário de sincronização são ativadas, sempre que uma pessoa recebe permissão para um projeto, as permissões correspondentes do site do Projeto são atualizadas.

Essa sincronização acontece sempre que o projeto é publicado. A compensação para a conveniência de sincronização é o desempenho, por exemplo, quanto mais usuários e sites precisarem ser sincronizados, mais lenta será a operação, especialmente se você estiver publicando em massa, importando ou criando vários projetos (com sites de Projetos) ou atualizando associações de grupo que exigirão uma nova atualização das permissões do site do projeto.

Para cada EPT, você pode definir se as permissões de usuário de sincronização estão ativadas.

Observação

Se os sites de projeto forem criados em uma coleção de sites diferente de onde o site do Project Web App está localizado (por exemplo, https://contoso.sharepoint.com/sites/pwa é onde o Project Web App está localizado e o EPT está criando sites de projeto no https://contoso.sharepoint.com/sites/IT), não há suporte para sincronizar permissões do usuário.

Recomendação:

Recomendamos que você desabilite a opção de sincronização de permissão do site do Project se o seguinte for verdadeiro para sua implantação:

  • Você tem um grande número de recursos (>1000)

  • Você tem um grande número de projetos que exigem um site do Project (>1000)

  • Você tem um grande número de recursos que precisam ter acesso à maioria dos sites do Project

  • Os sites de projeto são criados fora da coleção de sites padrão (a sincronização está desabilitada)

Aqui estão algumas opções a serem consideradas para gerenciar suas permissões do site do Project:

  • Se suas equipes de projeto tiverem baixa rotatividade, considere desativar a sincronização de permissões do site do Projeto para melhorar o desempenho das Páginas de Detalhes do Projeto e do Projeto. Em seguida, você teria que conceder ou remover manualmente a permissão para seus sites do Project sempre que alguém ingressar ou sair de uma equipe de projeto.

  • Se o acesso precisar ser concedido para todos os usuários no PWA e ele for mapeado para suas permissões de grupo existentes, considere configurar seus sites de projeto para herdar do site PWA pai.

  • Se o acesso ao site se alinhar com funções específicas, crie um ou mais grupos que mapeiem para essas funções (possivelmente se você tiver a sincronização de grupo habilitada, você poderá usar os mesmos grupos) e conceder a esses grupos acesso ao site do Project.

Para cada EPT, você pode ativar Permissões de Usuário de Sincronização por:

  1. Em Configurações do Project Web App, clique em Tipos de Projeto da Empresa.

  2. Selecione o EPT para o qual você precisa alterar a configuração.

  3. Na página Configurações do EPT, na seção Sincronizar , selecione Sincronização de Permissão do Usuário.

    Sincronização de permissão do usuário.

Sincronizar listas de tarefas do SharePoint para projetos empresariais

Sincronizar listas de tarefas do SharePoint é desativada por padrão para melhorar a velocidade da publicação do projeto. Isso também ajuda a acelerar a transição entre páginas de detalhes do projeto. Se os usuários confiarem na lista de tarefas e na visualização da linha do tempo no site do Project, você poderá ativar esse recurso e verificar se seu impacto no desempenho da publicação de projetos é razoável.

Observação

Se os sites de projeto forem criados em uma coleção de sites diferente de onde o site do Project Web App está localizado (por exemplo, https://contoso.sharepoint.com/sites/pwa é onde o Project Web App está localizado e o EPT está criando sites de projeto no https://contoso.sharepoint.com/sites/IT), não há suporte para sincronizar listas de tarefas do SharePoint.

Recomendação

A opção Sincronizar Listas de Tarefas do SharePoint destinava-se a ser usada com pequenos planos de projeto. Se o projeto tiver um grande número de tarefas, sincronizá-las na publicação levará algum tempo, pois cada tarefa precisa ser atualizada uma de cada vez. Por exemplo, leva vários minutos para sincronizar um plano de projeto de tarefas 500 com a lista de tarefas do SharePoint. Embora o trabalho de fila esteja em uma correlação separada e não bloqueie a economia e a edição do plano de projeto, recomendamos não habilitar a opção Sincronizar Listas de Tarefas do SharePoint. Recomendamos apenas sincronizar projetos com menos de 250 tarefas.

Essa opção é desativada por padrão. Só ativar a sincronização das Listas de Tarefas do SharePoint se os usuários precisarem do recurso para cada EPT. Para configurar essa opção:

  1. Em Configurações do Project Web App, clique em Tipos de Projeto da Empresa.

  2. Selecione o EPT para o qual você precisa alterar a configuração.

  3. Na página Configurações do EPT, na seção Sincronizar , selecione Sincronizar Listas de Tarefas do SharePoint.

    Sincronizar listas de tarefas do SharePoint.

Sincronização do Pool de Recursos do Active Directory

A sincronização do Pool de Recursos do Active Directory por si só não tem problemas de desempenho específicos e pode importar milhares de recursos para sua instância do Project Web App em minutos. No entanto, seu efeito downstream em outras partes do sistema pode afetar o desempenho. O processo principal para ficar de olho é a sincronização de permissão de recurso mencionada anteriormente. Se houver uma grande rotatividade na associação de grupos do Active Directory e isso exigir que você sincronize o Pool de Recursos com frequência, monitore quaisquer efeitos downstream potenciais em trabalhos de sincronização de permissões relacionados.

Recomendação:

Limitar a sincronização do Active Directory a grupos de recursos que realmente precisam usar o sistema e monitorar possíveis problemas de permissão após a sincronização de grandes grupos. (Para configurar a Sincronização do Pool de Recursos Corporativos do Active Directory, em Configurações do Project Web App, clique em Sincronização do Pool de Recursos do Active Directory.

Páginas do PWA e personalizações de exibição

Personalizações de página

A plataforma do SharePoint oferece ótimos recursos de personalização com sua infraestrutura de webpart modular e suporte para páginas personalizadas. Quando você adiciona logotipos, webparts personalizados e novos temas, pode não ter um impacto significativo no desempenho em uma infraestrutura local devido aos benefícios da proximidade do servidor, baixa latência e redes de largura de banda alta. No entanto, em um serviço online, a história é diferente.

Quando você carrega um logotipo ou gráfico com um grande tamanho de arquivo, ele pode reduzir um pouco as páginas em uma implantação local, mas online, o desempenho atingido nas cargas de página é substancial.

O mesmo princípio se aplica quando você adiciona várias webparts a uma página. Pode ser tentador ter uma página personalizada com várias webparts, mas, a menos que os usuários realmente precisem ver os dados lado a lado, é melhor ter páginas especializadas separadas do que ter tudo em um só lugar. Se os usuários precisarem apenas do conteúdo de uma webpart na página, eles ainda terão que esperar mais tempo para que a página carregue e exiba os dados de todas as outras webparts.

Recomendação:

Ao personalizar páginas, trate seu site Project Online como qualquer site regular da Internet e crie páginas leves o máximo possível.

Visualiza personalizações

Aqui novamente, a simplicidade percorre um longo caminho para melhorar o desempenho de carga de página. As organizações podem criar exibições personalizadas usando várias páginas do Project Web App, incluindo Project Center, Resource Center, Tasks e Timesheets.

Quanto mais conteúdo for exibido, mais lenta será a renderização de página. Você pode reduzir o tempo de carga de cada página em alguns segundos se fornecer aos usuários um número maior de exibições simples e direcionadas, em vez de algumas exibições "all-in-one".

Nos exemplos abaixo, a segunda exibição leva uma média de 2 a 3 segundos a menos para carregar do que a primeira.

Captura de tela da exibição personalizada do Project Center.

Captura de tela do modo de exibição do Project Center.

Recomendação:

Ao configurar exibições, ofereça aos usuários exibições especializadas simples para navegação mais rápida, em vez de uma exibição all-in-one complexa que carregaria dados desnecessários na maior parte do tempo.

Configurações de exibição do usuário

Centro de Projetos: agrupar com rollups

Os usuários podem configurar diferentes maneiras de ter a exibição renderizada para eles, incluindo ter dados agrupados por campos diferentes. Ao usar grupo por, os dados podem ser enrolados para campos de agregação com suporte (por exemplo, custos de soma ou um campo personalizado). A computação desses valores agregados solicita que o serviço carregue todos os valores para exibir o total.

Exemplo de dados agrupados por campos e enrolados para campos de agregação.

Recomendação:

A menos que o usuário precise ver os valores acumulados, desabilite a opção Rollup na faixa de opções.

Opção rollup.

Centro de Projetos: Gráfico de Gantt

A parte do gráfico da exibição Gráfico de Gantt exibe cada projeto como uma barra de Gantt de resumo.

Recomendação:

A menos que o usuário precise ver o Gantt, desabilite a opção Gráfico de Gantt na faixa de opções.

Opção Gráfico de Gantt.

Páginas e fluxos de trabalho personalizados de detalhes do projeto

Além da recomendação fornecida acima para design de página, PDPs (Páginas de Detalhes do Projeto) são particulares na medida em que podem disparar um recálculo de todo o projeto e iniciar ações de fluxo de trabalho, que podem ser operações caras em termos de desempenho, dependendo de suas personalizações.

Project Online e o Project Server têm dois processos de atualização principais para informações do projeto:

  • Atualizações que exige um recálculo de agendamento (veja lista abaixo)

  • Campos não relacionados aschedule, como nome do projeto, descrição e proprietário.

Recomendamos que você evite atualizar ambos os tipos de dados no mesmo PDP para evitar disparar os dois processos de atualização ao mesmo tempo.

Aqui está uma lista das ações mais comuns que exigem um recálculo de agendamento.

  • Alterações no calendário do projeto

  • Alterações nos seguintes campos de data:

    • Data inicial

    • Data de término

    • Data do status

    • Data atual

  • Alterações nos campos personalizados do projeto

  • Se o projeto tiver dependências de entregas

Uma segunda maneira de melhorar o desempenho do PDP é reduzir o número de webparts e campos personalizados exibidos em cada PDP. Se os processos empresariais exigirem atualizações frequentes para o mesmo conjunto de campos, crie um PDP dedicado com apenas esses campos para melhorar a carga e economizar tempo. Exibir todos os campos personalizados o tempo todo resulta em muitas sobrecargas desnecessárias.

Recomendação:

Crie PDPs especializados leves e evite misturar atualizações relacionadas a agendas e não relacionadas a esquemas.

Atualizações de campos personalizados em massa em fluxos de trabalho com nova API REST

Atualizar valores de campos personalizados do projeto em um fluxo de trabalho um de cada vez requer uma solicitação de servidor separada usando a ação Definir Campo de Projeto. Isso resulta em desempenho reduzido ao atualizar muitos campos personalizados ao mesmo tempo em uma rede de alta latência e baixa largura de banda.

Para resolver esse problema, há um método CSOM para atualizar campos personalizados em massa. Esse método exige que você passe um dicionário que contém o nome e os valores de todos os campos personalizados que você deseja atualizar.

API para provisionar sites de projeto sob demanda

Cada projeto pode ter seu próprio site dedicado do SharePoint onde os membros da equipe podem colaborar, compartilhar documentos e levantar problemas. Esses sites podem ser criados automaticamente na primeira publicação ou criado manualmente pelo gerenciador de projetos por meio do Project Pro ou do administrador por meio das configurações do Project Web App ou simplesmente podem ser desabilitados.

Você pode usar o método CreateProjectSite('') para decidir quando criar seus sites de projeto. Isso é particularmente útil para organizações que desejam criar seus sites somente depois que uma proposta de projeto atinge um estágio específico em um fluxo de trabalho predefinido, em vez de na primeira publicação. Isso melhora significativamente o desempenho da criação do projeto, adiando a criação de sites do Project.

Tratamento de Eventos

Os suplementos podem responder aos eventos que estão sendo gerados em Project Online. Por exemplo, um suplemento pode executar alguma atividade adicional após a criação de um projeto. Os usuários podem ter que esperar que esses suplementos concluam o tratamento dos eventos antes de poderem continuar trabalhando com Project Online.

Recomendação:

Project Online deve ser configurado para lidar com determinados eventos de forma assíncrona para minimizar o tempo que os usuários precisarão aguardar. Para fazer isso, peça ao desenvolvedor de todos os suplementos que você usa para garantir que o código deles seja capaz de lidar com os eventos após eventos de forma assíncrona. Eles podem ir a este artigo para saber mais sobre as práticas que podem seguir para lidar com esses eventos.

Se o desenvolvedor confirmar que o suplemento está pronto para a alteração, você precisará habilitar a configuração Ativar assíncrona após o processamento de eventos na página Configurações do PWA .

  1. Na página Configurações do PWA , na seção Políticas Operacionais , selecione Configurações adicionais do servidor.

  2. Na seção Tratamento de eventos assíncronos para Eventos após , verifique se Ativar o processamento assíncrono após o evento está selecionado.

    Tratamento de eventos assíncronos para a configuração de eventos After.

  3. Selecione Salvar.

    Em seguida, você precisará testar suas instâncias para verificar se tudo funciona corretamente.

    Observação

    Essa configuração só pode ser vista e alterada pelo Administrador do Conjunto de Sites.

OData e Reporting

Serviço ProjectData OData

Project Online tem um serviço de relatório OData que fornece uma maneira de criar relatórios/visualização nos dados armazenados no serviço. A API do serviço de relatórios ProjectData OData é definida aqui.

As chamadas para o serviço de relatórios ProjectData OData são governadas pelo SharePoint Online. Examine o artigo Evite ser limitado ou bloqueado no SharePoint Online para garantir que as chamadas sejam menos propensas a serem limitadas e implementar corretamente recomendações de repetição e retirada exponencial.

Além disso, seguir as recomendações descritas neste documento reduzirá o número, o comprimento e a frequência das chamadas necessárias para recuperar dados. Se a limitação ocorrer com frequência, verifique em toda a organização como vários departamentos podem estar consultando os mesmos dados ou não seguindo as melhores práticas descritas neste artigo e afetando todos.

Relatórios em fases temporais

Em Project Online você pode escolher o nível de granularidade necessário para dados de relatório com tempo limite. As opções e o impacto dos níveis estão totalmente documentados em Configurar a reversão de dados de relatórios com fases temporais no Project Online. Escolher um nível que gere a menor quantidade de dados para seus cenários permitirá que os dados fiquem visíveis no ponto de extremidade do serviço OData Reporting mais rapidamente e reduzirá o tempo necessário para baixar.

A lista de opções em ordem de desempenho (da maioria para a menor correlação com a quantidade de dados gerados):

  • Nunca

  • Períodos fiscais

  • Mensal

  • Semanalmente

  • Diariamente

Os Períodos Fiscais têm a grande vantagem sobre Mensalmente , pois os dados de relatório são mantidos apenas para períodos fiscais definidos, enquanto Mensalmente manterá dados durante toda a duração em todos os seus projetos.

Usando o serviço Project OData, você pode extrair informações de sua instância Project Online para relatórios.

Recomendação:

Armazene a menor quantidade de dados com períodos de tempo consistentes com suas necessidades de negócios. Não use o Daily se você tiver fluxos de trabalho que aguardem a publicação para concluir. Diariamente pode levar um tempo significativo para gerar os dados necessários, fazendo com que os fluxos de trabalho aguardem.

Consultando o serviço

limites para o número de entidades que podem ser retornadas em uma consulta do serviço ProjectData OData. Como resultado, consultar uma grande quantidade de dados requer que várias solicitações da Web sejam enviadas ao serviço, adicionando sobrecarga de rede e latência para cada solicitação.

Recomendação:

Evite executar cargas completas de dados "atualizar tudo". Essas atualizações podem afetar o desempenho do site PWA especialmente durante os horários de pico de uso, levando à degradação geral do desempenho das operações do usuário na PWA ou limitação.

Execute ações de atualização do Odata após o expediente. As decisões para manter relatórios reais ou próximos a relatórios reais também devem levar em consideração as compensações de desempenho para a experiência do usuário no site PWA. Se existirem requisitos de "atualizar tudo", examine a seção "SQL Server Integration Services (SSIS) – Recomendado para conjuntos de dados grandes".

Para uma instância do Project Web App que contém um grande número de entidades, como projetos, atribuições ou tarefas, você deve limitar os dados retornados de pelo menos uma das seguintes maneiras. Se você não limitar os dados retornados, a consulta poderá exceder os limites padrão e afetar o desempenho do servidor.

  • Use sempre uma opção de URL $filter e $select para limitar os dados. Por exemplo, a consulta a seguir filtra pela data de início do projeto e retorna apenas quatro campos, por ordem do nome do projeto:

    http://ServerName/ProjectServerName/_api/ProjectData/Projects?$filter=ProjectStartDate gt datetime'2012-01-01T00:00:00'&$orderby=ProjectName&$select=ProjectName,ProjectStartDate,ProjectFinishDate,ProjectCost
    
  • Evite Campos Personalizados que são pesquisas de vários valores. A computação extra é necessária para processar valores de campo personalizados que são pesquisas de vários valores. Esses campos não são capazes de aproveitar várias otimizações que foram implementadas para cenários de cliente mais comuns. Se campos personalizados de vários valores já tiverem sido configurados, melhore a velocidade e a confiabilidade da pesquisa, garantindo que nenhum desses campos seja especificado na consulta Odata filtrada.

  • Consultando entidades por chave ou associação. Ao consultar entidades, consulte o documento de metadados em https://yourdomain.sharepoint.com/sites/PWA/_api/ProjectData/$metadata. Sempre que possível consultar a entidade de uma das seguintes maneiras:

  • Teclas

    Observação

    Se houver mais de uma chave, o uso da primeira chave terá um desempenho melhor do que usar apenas a segunda chave.

  • Associações

    Por exemplo, você pode consultar a entidade Atribuição por meio de AssignmentId e ProjectId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12' and ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    
    or
    
    https://ServerName/ProjectServerName/_api/ProjectData/Assignments(AssignmentId=guid'719d849a-79b4-e911-b073-00155d9c3d12',ProjectId=guid'b5b02399-79b4-e911-b073-00155d9c3d12') 
    

    via AssignmentId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12'
    

    via ProjectId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter= ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    

    por meio da associação via Project:

    https://ServerName/ProjectServerName/_api/ProjectData/Projects(guid'263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
    
  • Faça várias consultas para retornar dados uma página por vez usando o operador $top e o operador $skip em um loop. Por exemplo, a consulta a seguir obtém problemas de 11 a 20 para todos os projetos, em ordem do recurso atribuído ao problema:

    https://ServerName/ProjectServerName/_api/ProjectData/Issues?$skip=10&$top=10&$orderby=AssignedToResource
    
  • Evite recuperar o nome projeto/tarefa/recurso ao consultar a Entidade de Atribuição . O serviço executa processamento adicional para recuperar os respectivos nomes. Se os dados já tiverem sido recuperados de outras consultas, não os inclua no filtro $select ao consultar Atribuição.

Recomendação:

  • Limite a quantidade de dados que você consulta no runtime usando a filtragem do lado do servidor para recuperar apenas as colunas de que você precisa. O impacto disso é mais perceptível com campos personalizados. Adicione os campos personalizados somente se você precisar deles.

  • Verifique se você está filtrando na chave da entidade. A chave da entidade é indexada e oferecerá uma experiência de recuperação de dados muito mais performante. Você pode encontrar as chaves de cada entidade examinando o Documento de Metadados de Serviço na instância do PWA: https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/$metadata

Recuperando dados e criando relatórios

PowerBI

Se a quantidade de dados for pequena, o Power BI poderá ler regularmente dados do serviço Project OData e ajudar a fornecer uma variedade de relatórios dinâmicos. Um pacote de conteúdo de exemplo pode ser encontrado aqui.

Se a quantidade de dados em Project Online for grande, você ainda poderá trazer um subconjunto dos dados, desde que atenda aos limites de tamanho de dados do PowerBI descritos aqui. Outra opção é criar seus relatórios em uma janela móvel, ou seja, filtrar projetos que estiveram ativos nos últimos 30 dias ou exibir a capacidade do recurso pelos próximos 6 meses. Examine a seção $filter/$select para obter melhores práticas, pois o PowerBI pode não aproveitar as otimizações de filtragem do lado do serviço.

Excel OData

O Excel pode ser usado para baixar dados e criar visualizações/relatórios personalizados. Se a quantidade de dados em Project Online for grande, um subconjunto dos dados poderá estar usando uma janela móvel, ou seja, filtrando projetos que estavam ativos nos últimos 30 dias ou exibindo a capacidade do recurso pelos próximos 6 meses. Examine a seção $filter/$select para obter melhores práticas, pois o Excel pode não aproveitar as otimizações de filtragem do lado do serviço.

SQL Server Integration Services (SSIS)

Usando o SSIS, Project Online dados de relatório podem ser baixados do serviço Project OData em um banco de dados sql server local ou no Microsoft Azure. Depois de baixado, todos os relatórios/visualizações podem ser criados. Um processo adicional é necessário para manter os dados locais em sincronia com Project Online.

Ao usar o SSIS, use o seguinte padrão para o qual Project Online foi otimizado. O padrão reduzirá o tempo necessário para recuperar e manter os dados locais em sincronização. Baixe ainda mais apenas os campos necessários para executar os requisitos de negócios. Quanto menos campos forem consultados, mais rápido os dados poderão ser recuperados.

Sincronização completa

Recupere o instantâneo atual dos dados de relatório nos quais você está interessado. Use o método a seguir para recuperar com eficiência o Project e entidades relacionadas.

Por exemplo, usando a entidade Project .

  1. Consulte o ProjectId da entidade Project, incluindo quaisquer filtros adicionais. Por exemplo, filtre em projetos que tenham datas de início ou término específicas.

  2. Consulte a entidade Project especificando os campos que precisam ser baixados, filtrando em um único ProjectId que foi recuperado anteriormente. Inclua o ProjectModifiedDate como ele é usado no padrão de sincronização delta abaixo.

  3. Repita a etapa 2 para cada ProjectId. Além disso, para cada ProjectId, baixe os dados para entidades relacionadas.

Por exemplo, usando a entidade Task :

  1. Consulta na TaskId da filtragem de entidade de tarefa em quaisquer campos adicionais, bem como no project ProjectId da etapa anterior.

  2. Consulte a entidade Task especificando os campos que precisam ser baixados e filtrados em um único TaskId que foi recuperado anteriormente. Inclua o TaskModifiedDate como ele é usado no padrão de sincronização delta abaixo.

  3. Repita para cada TaskId.

    Da mesma forma, use a mesma abordagem para cada entidade relacionada, por exemplo, Atribuição, TaskTimephasedData

As etapas anteriores se aplicam a outros grupos de entidades, por exemplo, ao recuperar informações de folha de tempo:

  • Timesheet: recupere o TimesheetId e o ModifiedDate com base em critérios de filtro , em seguida, registros de folha de tempo, depois filtragem TimeSheetLines no TimeSheetId e continue para outras entidades relacionadas, garantindo que você esteja arquivando por Ids de chave primária (TimesheetUID) e campos de data de modificação.

Ao recuperar informações da entidade de recursos:

Sincronização Delta

Verifique periodicamente para manter a cópia local dos dados de relatório atualizada. Repita as etapas abaixo conforme necessário para o respectivo grupo de direitos, por exemplo, Timesheet, Resource...

  1. Consulte todas as datas de modificação e do ProjectId do ponto de extremidade do Projeto usando critérios de $filter.

  2. Exclua o projeto local e os registros relacionados (Tarefas, Atribuições etc.) em que o ProjectId não existe mais.

  3. Quando a data de modificação do serviço e a data de modificação local forem diferentes para o registro do projeto, consulte o ponto de extremidade do Projeto para todos os campos necessários filtrando em um único ProjectId por vez. Além disso, para cada ProjectId, baixe os dados para entidades relacionadas.

Por exemplo, usando a entidade Task :

  1. Consulta no TaskId e TaskModifiedDate da filtragem de entidade de tarefa em quaisquer campos adicionais, bem como no project ProjectId da etapa anterior em que os dados foram alterados, ou seja, a data de modificação do serviço do Project não correspondeu à data de modificação local.

  2. Exclua registros locais e relacionados para TaskId que não existe mais.

  3. Quando a data de modificação do serviço e a data da modificação local forem diferentes, consulte o respectivo ponto de extremidade da entidade passando taskId e a chave primária da entidade e atualize a versão local.

Repita para cada entidade relacionada, por exemplo, Atribuição, TaskTimephasedData.

Cota do Project Web App

Por padrão, o Site do Project Web App vem com um limite de 25 GB e é separado do limite em todos os dados armazenados na coleção de sites do SharePoint em que o Project Web App está habilitado. Usar as opções de granularidade de relatório para reduzir o volume de dados pode ajudar a permanecer dentro da cota.

Observação

A cota de PWA pode ser aumentada (em incrementos) para um máximo de 100 GB. Um novo site PWA será necessário depois que o limite de cota for atingido. Aumentos além de 50GB exigem que o site da PWA não use mais a opção de granularidade de relatório com tempo limitado diário . Para discutir o aumento da cota do site PWA, entre em contato com a Microsoft.

Conclusão

Project Online, como qualquer serviço de nuvem em execução na Internet, requer ajuste específico para fornecer o melhor desempenho em comparação com uma implantação local.

Embora estejamos constantemente melhorando o sistema para acelerar o desempenho, há algumas etapas que você pode tomar enquanto isso para fornecer uma boa experiência aos usuários finais.

Recomendação de resumo:

  • Use o modo de permissão do SharePoint quando possível.

  • Ative apenas os recursos que você realmente usará.

  • Mantenha páginas e personalização o mais simples e leve possível para tempos de carga de página mais rápidos.

  • Use a filtragem do lado do servidor ou exporte os dados do Odata para um banco de dados SQL Server para obter mais flexibilidade de relatórios.

  • Escolha uma opção de granularidade de relatório que use a menor quantidade de dados que atenda às suas necessidades de relatório.

Project Online: limites do software