Ajustar o desempenho do Project Online

O Microsoft Project Online será desativado em setembro de 2026. Para obter mais informações, consulte este comunicado: Microsoft Project Online está sendo desativado: o que você precisa saber

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

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

O Project Online oferece muitas definições de configuração e 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 mais comuns do Project Online, para que você possa tomar decisões informadas quando se trata de personalizar e configurar o Project Online.

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

Práticas recomendadas do Office 365 e do SharePoint Online

Há uma grande quantidade de informações sobre planejamento de rede e ajuste de desempenho para o SharePoint Online e o Office 365. Todas estas informações são relevantes para os clientes do Project Online e devem ser consultadas, para além das seguintes práticas recomendadas específicas do Project Online.

Configuração e personalização do Project Online

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. Vejamos as configurações que podem potencialmente afetar o desempenho geral do site do Project Web App.

Vamos cobrir:

  • Modos de permissões de segurança

  • Tipos de Projeto da Empresa

    • Configuração do site do projeto

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

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

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

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

  • Manipulação de Eventos

  • OData e relatórios

  • Cota do Project Online

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

Modos de permissão: SharePoint ou Project

Com o 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 os dois modos pode ser encontrada no Technet.

As novas instâncias do 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 de 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 depender muito de permissões dinâmicas por meio de sua estrutura de divisão de recursos (RBS), 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, precisará configurar manualmente sua estrutura de permissões de segurança no Project Server 2013 e no Project Server 2016. Alternar do modo de permissão do Project Server de volta para o modo de permissão do SharePoint exclui suas informações de permissões de segurança do Project Server 2013 e do Project Server 2016.

Recomendação:

Quando possível, mantenha o modo de permissão padrão do SharePoint para melhorar o 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 Enterprise Project Types (EPT) 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 o Project Online e o 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 ajudar muito a melhorar a experiência geral do usuário final.

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

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, criá-lo por um fluxo de trabalho assim que a proposta do projeto atingir um determinado portão de estágio.

No momento, o SharePoint Online o SharePoint Online limita o número de subsites que podem ser criados para cada conjunto de sites. Um EPT permite que você defina em qual conjunto de sites criar novos sites de projeto. Isso permitirá que você crie um site de projeto para cada projeto, pois você pode abrangê-los em vários conjuntos de sites.

Sites de Projetos em conjuntos de sites do PWA.

Por exemplo, se você tiver um conjunto de sites dedicado ao departamento de TI, poderá configurar o EPT de projetos de TI para criar sites do Project a partir do https://contoso.sharepoint.com/sites/IT .

Local de criação do site do projeto.

Recomendação:

Se sua organização usa 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 ao:

  1. Nas 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 de configurações do EPT, na seção Site do Projeto , selecione Permitir que os usuários escolham.

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

    Criar sites de projeto em seu próprio conjunto de sites pelo EPT. Manter o número de sites de projeto em um conjunto de sites abaixo dos limites do SharePoint Online do SharePoint Online.

O que você sincroniza?

O Project Online é executado sobre o SharePoint Online da mesma forma que o Project Server é executado sobre o SharePoint Server. Como resultado, temos que manter em sincronia um certo número de componentes entre dois sistemas. Essas sincronizações podem ser demoradas e, dependendo das necessidades da sua empresa, à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 você pode desativar 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 o site do projeto

  • Sincronizar listas de tarefas do SharePoint para projetos corporativos

Sincronizar permissões do usuário

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

Essa sincronização acontece sempre que o projeto é publicado. A desvantagem da conveniência da sincronização é o desempenho, por exemplo, quanto mais usuários e sites precisam ser sincronizados, mais lenta é a operação, especialmente se você estiver publicando em massa, importando ou criando vários projetos (com sites do Projects) ou atualizando associações de grupo que exigirão uma ressincronizaçã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 um conjunto de sites diferente daquele 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 em https://contoso.sharepoint.com/sites/IT), não há suporte para a sincronização de permissões de usuário.

Recomendação:

É altamente recomendável desabilitar a opção de sincronização de permissões 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 receber acesso à maioria dos sites do Project

  • Os sites do Project são criados fora do conjunto de sites padrão (a sincronização está desabilitada)

Aqui estão algumas opções a serem consideradas para gerenciar as 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 da Publicação do Projeto e das Páginas de Detalhes do Projeto. Em seguida, você teria que conceder ou remover manualmente a permissão para seus sites de projeto sempre que alguém ingressasse ou saísse de uma equipe de projeto.

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

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

Para cada EPT, você pode ativar Sincronizar permissões do usuário ao:

  1. Nas 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 de 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 corporativos

A sincronização de listas de tarefas do SharePoint está desativada por padrão para melhorar a velocidade de publicação do projeto. Isso também ajuda a acelerar a transição entre as Páginas de Detalhes do Projeto. Se os usuários dependem da lista de tarefas e de sua visualização da linha do tempo no site do Project, você pode ativar esse recurso e marcar se seu impacto no desempenho da publicação do projeto é razoável.

Observação

Se os sites de projeto forem criados em um conjunto de sites diferente daquele em que 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 em https://contoso.sharepoint.com/sites/IT), não há suporte para a sincronização de Listas de Tarefas do SharePoint.

Recomendação

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

Essa opção está desativada por padrão. Ative a sincronização de listas de tarefas do SharePoint apenas se os usuários precisarem do recurso para cada EPT. Para configurar essa opção:

  1. Nas 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 de 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 principal processo a ser observado é a sincronização de permissões de recursos mencionada anteriormente. Se houver uma grande rotatividade na associação a grupos do Active Directory e isso exigir que você sincronize seu pool de recursos com frequência, monitore quaisquer possíveis efeitos downstream nos trabalhos de sincronização de permissões relacionados.

Recomendação:

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

Personalizações de páginas e exibições do PWA

Personalizações da página

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

Quando você carrega um logotipo ou gráfico com um tamanho de arquivo grande, ele pode diminuir um pouco a velocidade das páginas em uma implantação local, mas online, o impacto no desempenho nos carregamentos 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 web part 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 do Project Online como qualquer site normal da Internet e crie páginas leves o máximo possível.

Personalizações de exibições

Aqui, novamente, a simplicidade ajuda muito a melhorar o desempenho do carregamento da página. As organizações podem criar exibições personalizadas usando várias páginas do Project Web App, incluindo o Centro de Projetos, a Central de Recursos, as Tarefas e o Quadro de Horários.

Quanto mais conteúdo for exibido, mais lenta será a renderização da página. Você pode reduzir o tempo de carregamento 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 "tudo-em-um".

Nos exemplos abaixo, a segunda visualização leva em média de 2 a 3 segundos a menos para ser carregada do que a primeira.

Captura de tela do modo de exibição personalizado 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 completa complexa que carregaria dados desnecessários na maioria das vezes.

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

Centro de Projetos: Agrupar com pacotes cumulativos

Os usuários podem configurar diferentes maneiras de renderizar a exibição para eles, incluindo ter dados agrupados por campos diferentes. Ao usar o grupo por, os dados podem ser acumulados para campos de agregação compatíveis (por exemplo, soma de custos ou um campo personalizado). O cálculo desses valores agregados solicita que o serviço carregue todos os valores para exibir o total.

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

Recomendação:

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

Opção de pacote cumulativo.

Project Center: Gráfico de Gantt

A parte do gráfico do modo de 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.

Gráfico de Gantt.

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

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

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

  • Atualizações que exigem um recálculo de agendamento (consulte a lista abaixo)

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

Recomendamos que você evite atualizar os dois 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 ao calendário do projeto

  • Alterações nos seguintes campos de data:

    • Data inicial

    • Data de término

    • Data de 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 da PDP é reduzir o número de webparts e campos personalizados exibidos em cada PDP. Se seus processos comerciais exigirem atualizações frequentes para o mesmo conjunto de campos, crie um PDP dedicado apenas com esses campos para melhorar a carga e economizar tempo. Exibir todos os campos personalizados o tempo todo resulta em muita sobrecarga desnecessária.

Recomendação:

Crie PDPs leves e especializadas e evite misturar atualizações relacionadas a agendamentos e não relacionadas a agendamentos.

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

Atualizar valores de campos personalizados do projeto em um fluxo de trabalho, um por vez, requer uma solicitação de servidor separada usando a ação Definir Campo do 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. Este método exige que você passe em um dicionário contendo o nome e os valores de todos os campos personalizados que você deseja atualizar.

API para provisionamento de 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 criados manualmente pelo gerente de projeto por meio do Project Pro ou pelo administrador por meio das configurações do Project Web App, ou podem ser simplesmente 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.

Manipulação de Eventos

Os suplementos podem responder a eventos que estão sendo gerados no Project Online. Por exemplo, um suplemento pode realizar 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 continuar trabalhando com o Project Online.

Recomendação:

O Project Online deve ser configurado para lidar com determinados eventos de forma assíncrona para minimizar a quantidade de 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 seu código seja capaz de lidar com eventos After de forma assíncrona. Eles podem acessar 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 processamento assíncrono após o evento 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 Após eventos , certifique-se de que Ativar processamento assíncrono após eventos esteja selecionado.

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

  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 relatórios

ProjectData OData Service

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

As chamadas para o serviço de relatório OData ProjectData são regidas pelo SharePoint Online. Reveja o artigo Evite ser limitado ou bloqueado no SharePoint Online para garantir que as chamadas tenham menos probabilidade de serem limitadas e para implementar corretamente as recomendações de repetição e redução exponencial.

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

Relatórios divididos em fases

No Project Online, você pode escolher o nível de granularidade necessário para dados de relatório divididos em fases. As opções e o impacto dos níveis estão totalmente documentados em Configurar o pacote cumulativo de dados de relatório dividido em fases 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 de serviço de Relatório OData mais rapidamente e reduzirá o tempo necessário para baixar.

A lista de opções em ordem de desempenho (do melhor para o menos eficiente, correlacionando-se com a quantidade de dados gerados):

  • Nunca

  • Períodos fiscais

  • Mensal

  • Semanalmente

  • Diariamente

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

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

Recomendação:

Armazene a menor quantidade de dados divididos em fases que seja consistente com suas necessidades de negócios. Não use Diariamente se você tiver fluxos de trabalho que aguardam a conclusão da publicação. 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 OData ProjectData. 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 carregamentos de dados completos do tipo "atualizar tudo". Essas atualizações podem afetar o desempenho do site do PWA, especialmente durante horários de pico de uso, levando à degradação geral do desempenho das operações do usuário no PWA ou limitação.

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

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.

  • Sempre use uma opção de URL $filter e $select para limitar os dados. Por exemplo, a consulta a seguir filtra por data de início do projeto e retorna apenas quatro campos, na 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. Computação extra é necessária para processar valores de campos personalizados que são pesquisas de vários valores. Esses campos não são capazes de tirar proveito de várias otimizações que foram implementadas para cenários mais comuns de clientes. Se os 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, consulte a entidade de uma das seguintes maneiras:

  • Chaves

    Observação

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

  • Associações

    Por exemplo, você pode consultar a entidade Assignment 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') 
    

    por meio da AssignmentId:

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

    por meio ProjectId:

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

    por meio de associação via Projeto:

    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 os problemas de 11 a 20 para todos os projetos, na ordem do recurso atribuído ao problema:

    https://ServerName/ProjectServerName/_api/ProjectData/Issues?$skip=10&$top=10&$orderby=AssignedToResource
    
  • Evite recuperar o nome do 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 em runtime usando a filtragem do lado do servidor para recuperar apenas as colunas necessárias. O impacto disso é mais perceptível com campos personalizados. Adicione os campos personalizados somente se precisar deles.

  • Verifique se você está filtrando a chave de entidade. A chave de entidade é indexada e oferecerá uma experiência de recuperação de dados com muito mais desempenho. Você pode encontrar as chaves de cada entidade examinando o Documento de Metadados de Serviço em sua 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 os dados do serviço OData do Project 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 no Project Online for grande, você ainda poderá trazer um subconjunto dos dados, desde que ele 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 visualizar a capacidade do recurso pelos próximos 6 meses. Examine a seção $filter/$select para obter as práticas recomendadas, 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 no 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 de recursos pelos próximos 6 meses. Examine a seção $filter/$select para obter as práticas recomendadas, 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, os dados de relatório do Project Online podem ser baixados do serviço OData do Project em um banco de dados local do SQL Server ou no Microsoft Azure. Depois de baixados, todos os relatórios/visualizações podem ser criados. Um processo adicional é necessário para manter os dados locais em sincronia com o Project Online.

Ao usar o SSIS, use o padrão a seguir para o qual o Project Online foi otimizado. O padrão reduzirá o tempo necessário para recuperar e manter os dados locais em sincronia. Além disso, baixe 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 snapshot 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 filtros adicionais. Por exemplo, filtre projetos que têm datas de início ou término específicas.

  2. Consulte a entidade Project especificando os campos que precisam ser baixados, filtrando em uma única ProjectId que foi recuperada 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. Consulte a TaskId da filtragem de entidade de tarefa em quaisquer campos adicionais, bem como o ProjectId do projeto da etapa anterior.

  2. Consulte a entidade Task especificando os campos que precisam ser baixados e filtrando 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, TaskTimedData

As etapas anteriores se aplicam a outros grupos de entidades, por exemplo, ao recuperar informações de quadro de horários:

  • Quadro de horários: recupere o TimesheetId e o ModifiedDate com base nos critérios de filtro, depois os registros do Quadro de Horários, depois o TimeSheetLines filtrando 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 Recurso:

  • Recupere ResourceId e ResourceModifiedDate, registros de Recurso e, em seguida, ResourceTimedData etc. Inclua os respectivos campos de IDs de chave primária e datas de modificação.

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, Quadro de Horários, Recurso...

  1. Consulte todos os ProjectId's e a data de modificação do ponto de extremidade do Project usando $filter critérios.

  2. Exclua o projeto local e os registros relacionados (Tarefas, Atribuições etc.) em que a 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 Project para obter todos os campos obrigatórios filtrados em uma única ProjectId por vez. Além disso, para cada ProjectId, baixe os dados para entidades relacionadas.

Por exemplo, usando a entidade Task :

  1. Consulte TaskId e TaskModifiedDate da filtragem de entidade de tarefa em quaisquer campos adicionais, bem como o ProjectId do projeto 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 os registros locais e relacionados para a TaskId que não existem mais.

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

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

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 de todos os dados armazenados no conjunto 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) até um máximo de 100 GB. Um novo site do PWA será necessário assim que o limite de cota for atingido. Aumentos além de 50 GB exigem que o site do PWA não use mais a opção de granularidade de relatório dividido em fases diárias . Para discutir o aumento da cota do site do PWA, entre em contato com a Microsoft.

Conclusão

O Project Online, como qualquer serviço de nuvem em execução na Internet, requer um ajuste específico para oferecer 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 seguir nesse meio tempo para fornecer uma boa experiência aos usuários finais.

Resumo da recomendação:

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

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

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

  • Use a filtragem do lado do servidor ou exporte dados de feeds Odata para um banco de dados do SQL Server para obter maior 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