Ottimizzare le prestazioni di Project Online

Importante

Microsoft Project Online verrà ritirato il 30 settembre 2026. Per altre informazioni, fare riferimento a questo annuncio: Microsoft Project Online viene ritirato: informazioni utili.

Con il lancio di Project Online alcuni anni fa, le organizzazioni di tutte le dimensioni sono state in grado di usare il set completo di funzionalità di gestione di Project Portfolio Management (PPM) di Microsoft nella comodità dell'infrastruttura cloud di Office 365.

Anche se uno degli ovvi vantaggi dell'uso di un servizio basato sul cloud è quello di evitare di doversi occupare della distribuzione, della configurazione e dell'ottimizzazione hardware e software, esistono ancora alcune operazioni che è possibile eseguire per garantire che l'organizzazione ottenga le migliori prestazioni da Project Online.

Project Online offre molte impostazioni di configurazione e personalizzazione, ma queste possono avere un impatto sulle prestazioni. Questo articolo evidenzia l'impatto sulle prestazioni e i compromessi di alcune delle impostazioni di Project Online più comuni, in modo da poter prendere decisioni informate quando si tratta di personalizzare e configurare Project Online.

Questo articolo fa parte della pianificazione della rete e dell'ottimizzazione delle prestazioni per il progetto Office 365.

Procedure consigliate per Office 365 e SharePoint Online

Sono disponibili numerose informazioni sulla pianificazione della rete e sull'ottimizzazione delle prestazioni per SharePoint Online e Office 365. Tutte queste informazioni sono rilevanti per i clienti di Project Online e devono essere consultate in aggiunta alle seguenti procedure consigliate specifiche per Project Online.

Configurazione e personalizzazione di Project Online

È possibile configurare e personalizzare molti elementi di un sito di Project Web App, dalle impostazioni amministrative alle autorizzazioni, dalle impostazioni di collaborazione all'aspetto. Esaminiamo le impostazioni che possono avere un impatto sulle prestazioni complessive del sito di Project Web App.

Tratteremo:

  • Modalità di autorizzazioni di sicurezza

  • Tipi di progetti dell'organizzazione

    • Configurazione del sito di progetto

    • Meccanismi di sincronizzazione tra Project Online e SharePoint Online

  • Sincronizzazione del pool di risorse di Active Directory

  • Personalizzazione e aspetto dell'interfaccia utente

  • Pagine dettagli progetto e flussi di lavoro

  • Gestione degli eventi

  • OData e reporting

  • Quota di Project Online

Alcune di queste informazioni si applicano anche a Project Server 2013 e Project Server 2016.

Modalità di autorizzazione: SharePoint o Project

Con Project Online e Project Server 2013 è stato introdotto un modello di autorizzazione nuovo e semplificato denominato modalità di autorizzazione di SharePoint, in contrapposizione alla modalità di autorizzazione di Project legacy. Il confronto tra le due modalità è disponibile su Technet.

Il provisioning delle nuove istanze di Project Online viene eseguito in modalità di autorizzazione di SharePoint per impostazione predefinita e siamo fiduciosi che questa modalità soddisferà le esigenze della stragrande maggioranza dei clienti. Usando questa modalità, è possibile gestire l'autorizzazione utente tramite normali gruppi e autorizzazioni di SharePoint.

La modalità di autorizzazione del progetto offre un elevato grado di personalizzazione, ma può avere un prezzo in termini di prestazioni. Se si creano centinaia di categorie e si fa molto affidamento sulle autorizzazioni dinamiche tramite la struttura di suddivisione delle risorse (RBS), l'esperienza dell'utente finale potrebbe rallentata per gli utenti che hanno accesso a molti contenuti, ad esempio amministratori e gestori di portafoglio.

Nota

Il passaggio dalla modalità di autorizzazione di SharePoint alla modalità di autorizzazione di Project Server elimina tutte le impostazioni relative alla sicurezza. Se si passa dalla modalità di autorizzazione di SharePoint alla modalità di autorizzazione di Project Server classica, è necessario configurare manualmente la struttura delle autorizzazioni di sicurezza in Project Server 2013 e Project Server 2016. Il passaggio dalla modalità di autorizzazione di Project Server alla modalità di autorizzazione di SharePoint comporta l'eliminazione delle informazioni sulle autorizzazioni di sicurezza da Project Server 2013 e Project Server 2016.

Raccomandazione:

Se possibile, mantenere la modalità di autorizzazione predefinita di SharePoint per migliorare le prestazioni complessive. Se devi usare la modalità di autorizzazione del progetto, limita il più possibile le personalizzazioni.

Tipi di progetti dell'organizzazione

Un tipo di progetto dell'organizzazione (EPT) rappresenta un wrapper che incapsula fasi, fasi, un singolo flusso di lavoro e pagine dettagli del progetto (PDP).

Gli EPT consentono inoltre di definire:

  • Configurazione del sito di progetto

  • Meccanismi di sincronizzazione tra Project Online e SharePoint Online

Configurazione del sito di progetto

I siti di progetto sono basati sulle funzionalità di base di SharePoint. La creazione di siti di progetto non è un processo semplice e decidere se e quando l'organizzazione potrebbe aver bisogno di siti di progetto può essere molto utile per migliorare l'esperienza complessiva dell'utente finale.

Molte organizzazioni utilizzano Project Online per raccogliere e valutare le proposte di progetto prima di decidere quali progetti finanziare. Se i siti di progetto sono impostati per essere creati automaticamente la prima volta che un progetto viene pubblicato, tutte le proposte di progetto, anche quelle che non vengono selezionate, ottengono un sito di progetto. Questi siti non necessari dovrebbero essere ripuliti manualmente in seguito.

Un approccio migliore, se si decide di usare i siti di progetto, consiste nel lasciare che l'utente scelga quando creare il proprio sito di collaborazione o, ancora meglio, farlo creare da un flusso di lavoro non appena la proposta di progetto raggiunge un certo punto di passaggio.

SharePoint Online attualmente SharePoint Online limita il numero di siti secondari che è possibile creare per ogni raccolta siti. Un EPT consente di definire la raccolta siti in cui creare nuovi siti di progetto. In questo modo sarà possibile creare un sito di progetto per ogni progetto, in quanto sarà possibile estenderli su più raccolte siti.

Siti di progetto nelle raccolte siti di PWA.

Ad esempio, se si dispone di una raccolta siti dedicata al reparto IT, è possibile configurare l'EPT di progetti IT per creare siti di progetti al di fuori di https://contoso.sharepoint.com/sites/IT .

Luogo di creazione del sito del progetto.

Raccomandazione:

Se l'organizzazione usa siti di progetto, selezionare l'opzione per crearli su richiesta anziché automaticamente. In questo modo si velocizza la prima esperienza di pubblicazione ed si evita la creazione di siti e contenuti non necessari.

Per ogni EPT, è possibile configurare questa opzione:

  1. In Impostazioni Project Web App fare clic su Tipi di progetto dell'organizzazione.

  2. Selezionare l'EPT a cui si desidera modificare l'impostazione.

  3. Nella pagina delle impostazioni dell'EPT, nella sezione Sito del progetto , selezionare Consenti agli utenti di scegliere.

    Opzioni di creazione di siti di progetto.

    Creare siti di progetto nella propria raccolta siti tramite l'EPT. Mantenere il numero di siti di progetto in una raccolta siti al di sotto dei limiti di SharePoint Online SharePoint Online.

Quali elementi vengono sincronizzati?

Project Online viene eseguito su SharePoint Online allo stesso modo di Project Server su Server SharePoint. Di conseguenza, dobbiamo mantenere sincronizzato un certo numero di componenti tra due sistemi. Queste sincronizzazioni possono richiedere molto tempo e, a seconda delle esigenze aziendali, talvolta non essere necessarie. Questo articolo esamina tutti questi sistemi di sincronizzazione per aiutarti a decidere quali ti servono e quali puoi disattivare in modo sicuro. Alcune di queste impostazioni sono già disattivate per impostazione predefinita.

Nelle sezioni seguenti vengono illustrati:

  • Sincronizzare le autorizzazioni utente per il sito di progetto

  • Sincronizzare gli elenchi attività di SharePoint per i progetti dell'organizzazione

Sincronizzazione autorizzazioni utente

I siti di progetto sono aree di lavoro in cui i team di progetto possono collaborare, caricare documenti e sollevare problemi. Quando le autorizzazioni utente di sincronizzazione sono attivate, ogni volta che a una persona viene concessa l'autorizzazione per un progetto, le autorizzazioni del sito di progetto corrispondente vengono aggiornate.

Questa sincronizzazione avviene ogni volta che il progetto viene pubblicato. Il compromesso per la comodità della sincronizzazione sono le prestazioni. Ad esempio, più utenti e siti devono essere sincronizzati, più lenta è l'operazione, soprattutto se si sta pubblicando in blocco, importando o creando più progetti (con i siti Projects) o aggiornando le appartenenze a gruppi che richiederanno una risincronizzazione delle autorizzazioni del sito di progetto.

Per ogni EPT, è possibile definire se le autorizzazioni utente di sincronizzazione sono attivate.

Nota

Se i siti di progetto vengono creati in una raccolta siti diversa da quella in cui si trova il sito di Project Web App (ad esempio, https://contoso.sharepoint.com/sites/pwa è quello in cui si trova Project Web App e l'EPT sta creando siti di progetto in https://contoso.sharepoint.com/sites/IT), la sincronizzazione delle autorizzazioni utente non è supportata.

Raccomandazione:

È consigliabile disabilitare l'opzione di sincronizzazione delle autorizzazioni del sito di Project se per la distribuzione sono soddisfatte le condizioni seguenti:

  • Hai un gran numero di risorse (>1000)

  • Si dispone di un numero elevato di progetti che richiedono un sito di progetto (>1000)

  • Si dispone di un numero elevato di risorse a cui è necessario concedere l'accesso alla maggior parte dei siti di Project

  • I siti di progetto vengono creati al di fuori della raccolta siti predefinita (la sincronizzazione è disabilitata)

Ecco alcune opzioni da considerare per la gestione delle autorizzazioni del sito di progetto:

  • Se i team di progetto hanno un fatturato basso, valuta la possibilità di disattivare la sincronizzazione delle autorizzazioni del sito di progetto per migliorare le prestazioni di pubblicazione del progetto e delle pagine dettagli del progetto. Sarà quindi necessario concedere o rimuovere manualmente l'autorizzazione per i siti di progetto ogni volta che un utente entra o lascia un team di progetto.

  • Se l'accesso deve essere concesso a tutti gli utenti di PWA ed è associato alle autorizzazioni di gruppo esistenti, è consigliabile configurare i siti di Project in modo che ereditino dal sito di PWA padre.

  • Se l'accesso al sito è allineato con ruoli specifici, creare uno o più gruppi associati a tali ruoli (se è abilitata la sincronizzazione dei gruppi è possibile usare gli stessi gruppi) e concedere a tali gruppi l'accesso al sito di Project.

Per ogni EPT, è possibile attivare Sincronizza autorizzazioni utente in base a:

  1. In Impostazioni Project Web App fare clic su Tipi di progetto dell'organizzazione.

  2. Selezionare l'EPT a cui si desidera modificare l'impostazione.

  3. Nella sezione Sincronizza della pagina delle impostazioni EPT selezionare Sincronizzazione autorizzazioni utente.

    Sincronizzazione autorizzazioni utente.

Sincronizzare gli elenchi attività di SharePoint per i progetti dell'organizzazione

L'opzione Sincronizza elenchi attività di SharePoint è disattivata per impostazione predefinita per migliorare la velocità di pubblicazione dei progetti. Ciò consente inoltre di velocizzare la transizione tra le pagine prodotto del progetto. Se gli utenti si affidano all'elenco attività e alla relativa visualizzazione della sequenza temporale nel sito di progetto, è possibile attivare questa caratteristica e verificare se il suo impatto sulle prestazioni di pubblicazione del progetto è ragionevole.

Nota

Se i siti di progetto vengono creati in una raccolta siti diversa da quella in cui si trova il sito di Project Web App (ad esempio, https://contoso.sharepoint.com/sites/pwa è quello in cui si trova Project Web App e l'EPT sta creando siti di progetto ), https://contoso.sharepoint.com/sites/ITla sincronizzazione degli elenchi attività di SharePoint non è supportata.

Consiglio

L'opzione Sincronizza elenchi attività di SharePoint è stata progettata per essere utilizzata con piani di progetto di piccole dimensioni. Se il progetto ha un numero elevato di attività, la sincronizzazione al momento della pubblicazione richiederà del tempo perché ogni attività deve essere aggiornata una alla volta. Ad esempio, la sincronizzazione di un piano di progetto con 500 attività e l'elenco attività di SharePoint richiede diversi minuti. Anche se il processo in coda si trova in una correlazione separata e non blocca il salvataggio e la modifica del piano di progetto, è consigliabile non abilitare l'opzione Sincronizza elenchi attività di SharePoint. È consigliabile sincronizzare solo i progetti con meno di 250 attività.

Questa opzione è disattivata per impostazione predefinita. Attivare la sincronizzazione degli elenchi attività di SharePoint solo se gli utenti necessitano della funzionalità per ogni EPT. Per configurare questa opzione:

  1. In Impostazioni Project Web App fare clic su Tipi di progetto dell'organizzazione.

  2. Selezionare l'EPT a cui si desidera modificare l'impostazione.

  3. Nella sezione Sincronizza della pagina delle impostazioni EPT selezionare Sincronizza elenchi attività di SharePoint.

    Sincronizzare gli elenchi attività di SharePoint.

Sincronizzazione del pool di risorse di Active Directory

La sincronizzazione del pool di risorse di Active Directory da sola non presenta particolari problemi di prestazioni e può importare migliaia di risorse nell'istanza di Project Web App in pochi minuti. Tuttavia, il suo effetto a valle su altre parti del sistema può influire sulle prestazioni. Il processo principale da tenere sotto controllo è la sincronizzazione delle autorizzazioni delle risorse menzionata in precedenza. Se il turnover dei gruppi di Active Directory è elevato e ciò richiede la sincronizzazione frequente del pool di risorse, monitorare eventuali effetti a valle sui processi di sincronizzazione delle autorizzazioni correlati.

Raccomandazione:

Limitare la sincronizzazione di Active Directory ai gruppi di risorse che devono effettivamente usare il sistema e monitorare eventuali problemi di autorizzazione dopo la sincronizzazione di gruppi di grandi dimensioni. Per configurare la sincronizzazione del pool di risorse aziendale di Active Directory, in Impostazioni di Project Web App fare clic su Sincronizzazione pool di risorse di Active Directory.

Personalizzazione delle pagine e delle visualizzazioni di PWA

Personalizzazioni della pagina

La piattaforma SharePoint offre grandi capacità di personalizzazione con la sua infrastruttura modulare di web part e il supporto per le pagine personalizzate. L'aggiunta di logo, web part personalizzate e nuovi temi potrebbe non avere un impatto significativo sulle prestazioni di un'infrastruttura locale a causa dei vantaggi delle reti di prossimità dei server, bassa latenza e larghezza di banda elevata. Tuttavia, su un servizio online, la storia è diversa.

Quando carichi un logo o un elemento grafico con un file di grandi dimensioni, potrebbe rallentare un po' le pagine in una distribuzione locale, ma online l'impatto sulle prestazioni sul caricamento delle pagine è notevole.

Lo stesso principio si applica quando si aggiungono più web part a una pagina. Si potrebbe essere tentati di avere una pagina personalizzata con più web part, ma a meno che gli utenti non abbiano effettivamente bisogno di visualizzare i dati affiancati, è meglio avere pagine specializzate separate piuttosto che averli tutti in un'unica posizione. Se gli utenti hanno bisogno del contenuto di una sola web part nella pagina, dovranno attendere più tempo per caricare e visualizzare i dati per tutte le altre webpart.

Raccomandazione:

Quando si personalizzano le pagine, trattare il sito di Project Online come un normale sito Internet e creare pagine il più possibile leggere.

Personalizzazioni delle visualizzazioni

Anche in questo caso, la semplicità contribuisce notevolmente a migliorare le prestazioni di caricamento delle pagine. Le organizzazioni possono creare visualizzazioni personalizzate usando più pagine di Project Web App, tra cui Project Center, Centro risorse, Attività e Schede attività.

Maggiore è il numero di contenuti visualizzati, più lento sarà il rendering della pagina. È possibile ridurre il tempo di caricamento di ogni pagina di alcuni secondi offrendo agli utenti un numero maggiore di visualizzazioni semplici e mirate rispetto a poche visualizzazioni "all-in-one".

Negli esempi seguenti, la seconda visualizzazione richiede in media 2 o 3 secondi in meno per caricarsi rispetto alla prima.

Screenshot della visualizzazione personalizzata del Centro progetti.

Screenshot della visualizzazione Centro progetti.

Raccomandazione:

Quando configuri le visualizzazioni, offri agli utenti visualizzazioni semplici e specializzate per uno spostamento più rapido anziché una visualizzazione all-in-one complessa che caricherebbe dati non necessari per la maggior parte del tempo.

Impostazioni di visualizzazione utente

Centro progetti: Raggruppa per con rollup

Gli utenti possono configurare diversi modi per eseguire il rendering della visualizzazione, incluso il raggruppamento dei dati in base a campi diversi. Quando si utilizza Raggruppa per, è possibile eseguire il rollup dei dati per i campi di aggregazione supportati, ad esempio sommando i costi o un campo personalizzato. Il calcolo di questi valori aggregati richiede al servizio di caricare tutti i valori per visualizzare il totale.

Esempio di dati raggruppati per campi e di cui è stato eseguito il rollup per i campi di aggregazione.

Raccomandazione:

A meno che l'utente non abbia bisogno di visualizzare i valori di cui è stato eseguito il rollup, disabilitare l'opzione Rollup sulla barra multifunzione.

Opzione di rollup.

Centro progetti: diagramma di Gantt

La parte del grafico della visualizzazione Diagramma di Gantt mostra ogni progetto come una barra di Gantt di riepilogo.

Raccomandazione:

A meno che l'utente non abbia bisogno di vedere il diagramma di Gantt, disabilitare l'opzione Diagramma di Gantt sulla barra multifunzione.

Opzione Diagramma di Gantt.

Pagine dettagli progetto e flussi di lavoro personalizzati

Oltre alle raccomandazioni fornite in precedenza per la progettazione della pagina, le pagine dettagli del progetto (PDP) sono particolari in quanto possono attivare un ricalcolo dell'intero progetto e dare il via ad azioni del flusso di lavoro, operazioni che possono essere entrambe operazioni costose in termini di prestazioni, a seconda delle personalizzazioni.

Project Online e Project Server hanno due processi principali di aggiornamento delle informazioni sul progetto:

  • Aggiornamenti che richiedono un ricalcolo della pianificazione (vedere l'elenco seguente)

  • Campi non correlati alla pianificazione, come il nome del progetto, la descrizione e il proprietario.

È consigliabile evitare di aggiornare entrambi i tipi di dati sullo stesso PDP per evitare di attivare entrambi i processi di aggiornamento contemporaneamente.

Ecco un elenco delle azioni più comuni che richiedono un ricalcolo della pianificazione.

  • Modifiche al calendario del progetto

  • Modifiche ai seguenti campi di data:

    • Data di inizio

    • Data di fine

    • Data stato

    • Data corrente

  • Modifiche nei campi personalizzati del progetto

  • Se il progetto ha dipendenze dai risultati finali

Un secondo modo per migliorare le prestazioni di PDP consiste nel ridurre il numero di web part e campi personalizzati visualizzati in ogni PDP. Se i processi aziendali richiedono aggiornamenti frequenti allo stesso set di campi, creare un PDP dedicato con solo questi campi per migliorare il caricamento e risparmiare tempo. La visualizzazione costante di tutti i campi personalizzati comporta un sovraccarico non necessario.

Raccomandazione:

Creare PDP specializzati leggeri ed evitare di combinare aggiornamenti relativi alla pianificazione e non relativi alla pianificazione.

Aggiornamenti in blocco dei campi personalizzati nei flussi di lavoro con la nuova API REST

L'aggiornamento dei valori dei campi personalizzati del progetto in un flusso di lavoro uno alla volta richiede una richiesta server separata tramite l'azione Imposta campo progetto. Ciò comporta una riduzione delle prestazioni quando si aggiornano molti campi personalizzati contemporaneamente in una rete ad alta latenza e larghezza di banda ridotta.

Per risolvere questo problema, esiste un metodo CSOM per aggiornare i campi personalizzati in blocco. Questo metodo richiede di passare un dizionario contenente il nome e i valori di tutti i campi personalizzati che si desidera aggiornare.

API per il provisioning dei siti di progetto su richiesta

Ogni progetto può avere un proprio sito SharePoint dedicato in cui i membri del team possono collaborare, condividere documenti e sollevare problemi. Questi siti possono essere creati automaticamente alla prima pubblicazione o creati manualmente dal project manager tramite Project Pro o dall'amministratore tramite le impostazioni di Project Web App, oppure possono essere semplicemente disabilitati.

È possibile usare il metodo CreateProjectSite('') per decidere quando creare i siti di progetto. Ciò è particolarmente utile per le organizzazioni che desiderano creare i propri siti solo dopo che una proposta di progetto raggiunge una fase specifica di un flusso di lavoro predefinito, anziché alla prima pubblicazione. Ciò migliora significativamente le prestazioni della creazione del progetto posticipando la creazione dei siti del progetto.

Gestione degli eventi

I componenti aggiuntivi possono rispondere agli eventi generati in Project Online. Ad esempio, un componente aggiuntivo può eseguire alcune attività aggiuntive dopo la creazione di un progetto. Gli utenti potrebbero dover attendere il completamento della gestione degli eventi prima che questi componenti aggiuntivi possano continuare a usare Project Online.

Raccomandazione:

Project Online deve essere configurato per gestire determinati eventi in modo asincrono per ridurre al minimo il tempo di attesa degli utenti. A tale scopo, chiedere allo sviluppatore di eventuali componenti aggiuntivi usati di verificare che il codice sia in grado di gestire gli eventi After in modo asincrono. Possono andare a questo articolo per saperne di più sulle pratiche che possono seguire per gestire questi eventi.

Se lo sviluppatore conferma che il componente aggiuntivo è pronto per la modifica, è necessario abilitare l'impostazione Attiva elaborazione asincrona dopo eventi nella pagina Impostazioni di PWA .

  1. Nella sezione Criteri operativi della pagina Impostazioni di PWA selezionare Impostazioni server aggiuntive.

  2. Nella sezione Gestione asincrona degli eventi per After events , verifica che sia selezionata l'opzione Attiva l'elaborazione asincrona degli eventi successivi .

    Gestione di eventi asincroni per l'impostazione di After Events.

  3. Seleziona Salva.

    Dovrai quindi testare le tue istanze per verificare che tutto funzioni correttamente.

    Nota

    Questa impostazione può essere visualizzata e modificata solo dall'amministratore della raccolta siti.

OData e creazione di report

Servizio OData ProjectData

Project Online dispone di un servizio di creazione di report OData che consente di creare report/visualizzazioni sui dati archiviati nel servizio. L'API del servizio di reporting ProjectData OData è definita qui.

Le chiamate al servizio di creazione di report OData ProjectData sono disciplinate da SharePoint Online. Leggere l'articolo Evitare di essere limitati o bloccati in SharePoint Online per assicurarsi che le chiamate abbiano meno probabilità di essere limitate e per implementare correttamente i suggerimenti relativi a tentativi e di annullamento esponenziale.

Inoltre, seguendo le raccomandazioni delineate in questo documento si ridurrà il numero, la lunghezza e la frequenza delle chiamate necessarie per recuperare i dati. Se la limitazione si verifica spesso, controlla in tutta l'organizzazione perché più reparti potrebbero eseguire query sugli stessi dati o non seguire le procedure consigliate descritte in questo articolo e influire su tutti.

Creazione di report rapportati alla scala cronologica

In Project Online è possibile scegliere il livello di granularità necessario per i dati dei report rapportati alla scala cronologica. Le opzioni e l'impatto dei livelli sono completamente documentati in Configurare il rollup dei dati dei report rapportati alla scala cronologica in Project Online. La scelta di un livello che genera la minor quantità di dati per gli scenari consentirà di visualizzare i dati nell'endpoint del servizio OData Reporting più velocemente e ridurrà la quantità di tempo necessaria per il download.

Elenco delle opzioni in ordine di rendimento (dal più al meno performante, correlato alla quantità di dati generati):

  • Mai

  • Periodi fiscali

  • Mensile

  • Settimanale

  • Giornaliera

I periodi fiscali hanno il grande vantaggio rispetto a quelli mensili in quanto i dati dei report vengono conservati solo per determinati periodi fiscali, mentre quelli mensili contengono i dati per l'intera durata di tutti i progetti.

Utilizzando il servizio OData di Project, è possibile estrarre informazioni dall'istanza di Project Online per la creazione di report.

Raccomandazione:

Archiviare la quantità minima di dati rapportati alla scala cronologica coerente con le esigenze aziendali. Non utilizzare Ogni giorno se si hanno flussi di lavoro che attendono il completamento della pubblicazione. La generazione giornaliera dei dati richiesti può richiedere molto tempo, causando l'attesa dei flussi di lavoro.

Esecuzione di query sul servizio

Esistono limiti al numero di entità che possono essere restituite in una query del servizio ProjectData OData. Di conseguenza, l'esecuzione di query su una grande quantità di dati richiede l'invio di più richieste Web al servizio, con conseguente aumento del sovraccarico di rete e della latenza per ogni richiesta.

Raccomandazione:

Evita di eseguire caricamenti completi dei dati "aggiorna tutto". Questi aggiornamenti possono avere un impatto sulle prestazioni del sito PWA, specialmente durante i picchi di utilizzo, causando una riduzione complessiva delle prestazioni delle operazioni utente in PWA o limitazione.

Eseguire azioni di aggiornamento OData fuori orario. Le decisioni di mantenere report in tempo reale o quasi reali devono anche prendere in considerazione i compromessi sulle prestazioni per l'esperienza utente nel sito PWA. Se esistono requisiti per "aggiornare tutto", consultare la sezione "SQL Server Integration Services (SSIS) - Consigliato per set di dati di grandi dimensioni".

Per un'istanza di Project Web App contenente un numero elevato di entità, ad esempio progetti, assegnazioni o attività, è consigliabile limitare i dati restituiti in almeno uno dei modi seguenti. Se non si limitano i dati restituiti, la query può superare i limiti predefiniti e influire sulle prestazioni del server.

  • Usare sempre un'opzione URL $filter e $select per limitare i dati. La query seguente, ad esempio, filtra in base alla data di inizio del progetto e restituisce solo quattro campi in ordine rispetto al nome del progetto:

    http://ServerName/ProjectServerName/_api/ProjectData/Projects?$filter=ProjectStartDate gt datetime'2012-01-01T00:00:00'&$orderby=ProjectName&$select=ProjectName,ProjectStartDate,ProjectFinishDate,ProjectCost
    
  • Evitare i campi personalizzati che sono ricerche multivalore. Sono necessari calcoli aggiuntivi per elaborare i valori dei campi personalizzati, ovvero ricerche di più valori. Questi campi non sono in grado di sfruttare diverse ottimizzazioni implementate per gli scenari più comuni dei clienti. Se sono già stati configurati campi personalizzati multivalore, migliorare la velocità e l'affidabilità della ricerca assicurandosi che nessuno di questi campi sia specificato nella query Odata filtrata.

  • Esecuzione di query sulle entità in base a chiave o associazione. Quando si esegue una query sulle entità, fare riferimento al documento dei metadati in https://yourdomain.sharepoint.com/sites/PWA/_api/ProjectData/$metadata. Quando possibile, esegui una query sull'entità in uno dei modi seguenti:

  • Chiavi

    Nota

    Se sono presenti più tasti, l'uso del primo tasto consentirà di ottenere risultati migliori rispetto al solo secondo.

  • Associazioni

    Ad esempio, è possibile eseguire una query sull'entità Assegnazione tramite 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') 
    

    tramite AssignmentId:

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

    tramite ProjectId:

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

    tramite associazione tramite Project:

    https://ServerName/ProjectServerName/_api/ProjectData/Projects(guid'263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
    
  • Eseguire più query per restituire i dati una pagina alla volta, usando l'operatore $top e l'operatore $skip in un ciclo. Ad esempio, la query seguente ottiene i problemi da 11 a 20 per tutti i progetti, in ordine di risorsa assegnata al problema:

    https://ServerName/ProjectServerName/_api/ProjectData/Issues?$skip=10&$top=10&$orderby=AssignedToResource
    
  • Evitare di recuperare il nome del progetto/attività/risorsa quando si esegue una query sull'entità di assegnazione . Il servizio esegue ulteriori elaborazioni per recuperare i rispettivi nomi. Se i dati sono già stati recuperati da altre query, non includerli nel filtro $select quando si esegue una query sull'assegnazione.

Raccomandazione:

  • Limitare la quantità di dati su cui eseguire query in fase di esecuzione usando il filtro sul lato server per recuperare solo le colonne necessarie. L'impatto di questa operazione è più evidente con i campi personalizzati. Aggiungi i campi personalizzati solo se ti servono.

  • Assicurati di applicare un filtro in base alla chiave dell'entità. La chiave dell'entità è indicizzata e offrirà un'esperienza di recupero dei dati molto più efficiente. È possibile trovare le chiavi per ogni entità esaminando il documento dei metadati del servizio nell'istanza di PWA: https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/$metadata

Recupero dei dati e creazione di report

PowerBI

Se la quantità di dati è ridotta, Power BI può leggere regolarmente i dati dal servizio OData Project e fornire un'ampia gamma di report dinamici. Un pacchetto di contenuto di esempio è disponibile qui.

Se la quantità di dati in Project Online è elevata, è comunque possibile importare un sottoinsieme dei dati purché soddisfi i limiti di dimensione dei dati di PowerBI descritti qui. Un'altra opzione è quella di creare i report in una finestra mobile, ad esempio filtrando i progetti che sono stati attivi negli ultimi 30 giorni o visualizzando la capacità delle risorse per i successivi 6 mesi. Esaminare la sezione $filter/$select per le procedure consigliate perché PowerBI potrebbe non sfruttare le ottimizzazioni del filtro sul lato servizio.

Excel OData

Excel può essere usato per scaricare dati e creare visualizzazioni/report personalizzati. Se la quantità di dati in Project Online è elevata, un sottoinsieme dei dati può usare una finestra mobile, ad esempio filtrare i progetti attivi negli ultimi 30 giorni o visualizzare la capacità delle risorse per i successivi 6 mesi. Esaminare la sezione $filter/$select per le procedure consigliate in quanto Excel potrebbe non sfruttare le ottimizzazioni del filtro sul lato servizio.

SQL Server Integration Services (SSIS)

Utilizzando SSIS, i dati di creazione di report di Project Online possono essere scaricati dal servizio OData di Project in un database del server SQL locale o in Microsoft Azure. Una volta scaricati, è possibile creare tutti i report/visualizzazioni. Per mantenere sincronizzati i dati locali con Project Online è necessario un ulteriore processo.

Quando si usa SSIS, usare il modello per cui Project Online è stato ottimizzato. Il modello ridurrà la quantità di tempo necessaria per recuperare e mantenere sincronizzati i dati locali. Inoltre, scarica solo i campi necessari per eseguire i requisiti aziendali. Minore è il numero di campi oggetto di query, più rapidamente è possibile recuperare i dati.

Sincronizzazione completa

Recuperare lo snapshot corrente dei dati di report a cui si è interessati. Utilizzare il metodo seguente per recuperare in modo efficiente Project e le entità correlate.

Ad esempio, utilizzando l'entità Project .

  1. Esegui una query su ProjectId dall'entità Project, includendo eventuali filtri aggiuntivi. Ad esempio, è possibile filtrare i progetti con date di inizio o fine specifiche.

  2. Eseguire una query sull'entità Project specificando i campi che devono essere scaricati, filtrando in base a un singolo ProjectId recuperato in precedenza. Includere ProjectModifiedDate così come viene utilizzato nel modello di sincronizzazione differenziale seguente.

  3. Ripetere il passaggio 2 per ogni ProjectId. Inoltre, per ogni ProjectId, scarica i dati per le entità correlate.

Ad esempio, utilizzando l'entità Attività :

  1. Esegui una query sull'ID attività dall'entità Attività, filtrando su tutti i campi aggiuntivi, nonché sul ProjectId del progetto del passaggio precedente.

  2. Eseguire una query sull'entità Task, specificando i campi che devono essere scaricati e filtrando in base a un singolo TaskId recuperato in precedenza. Includere TaskModifiedDate così come viene utilizzato nel modello di sincronizzazione differenziale seguente.

  3. Ripetere per ogni codice TaskId.

    Analogamente, usare lo stesso approccio per ogni entità correlata, ad esempio Assignment, TaskTimePhasedData

I passaggi precedenti si applicano ad altri gruppi di entità, ad esempio quando si recuperano le informazioni della scheda attività:

  • Scheda attività: Recuperare TimesheetId e ModifiedDate in base ai criteri di filtro, quindi i record della scheda attività, quindi TimeSheetLines che filtrano in base a TimeSheetId e proseguire con altre entità correlate, assicurandosi di archiviare i campi ID chiave primaria (TimesheetUID) e data di modifica.

Quando recuperi le informazioni sull'entità risorsa:

  • Recuperare ResourceId e ResourceModifiedDate, quindi Resource Records, quindi ResourceTimephasedData e così via. Includere i rispettivi campi ID chiave primaria e data di modifica.

Sincronizzazione delta

Controllare periodicamente per mantenere aggiornata la copia locale dei dati dei report. Ripetere i passaggi seguenti in base alle esigenze per il rispettivo gruppo di titoli, ad esempio, Scheda attività, Risorsa...

  1. Eseguire una query su tutti i ProjectId e le date di modifica dall'endpoint del progetto usando $filter criteri.

  2. Eliminare il progetto locale e i record correlati (attività, assegnazioni e così via) in cui ProjectId non esiste più.

  3. Se la data di modifica del servizio e la data di modifica locale sono diverse per il record del progetto, eseguire una query sull'endpoint del progetto per visualizzare tutti i campi obbligatori, filtrando su un singolo ProjectId alla volta. Inoltre, per ogni ProjectId, scarica i dati per le entità correlate.

Ad esempio, utilizzando l'entità Attività :

  1. Esegui una query su TaskId e TaskModifiedDate dal filtro dell'entità Attività su eventuali campi aggiuntivi, nonché sul ProjectId del progetto del passaggio precedente in cui i dati sono stati modificati, ad esempio la data di modifica del servizio di progetto non corrisponde alla data di modifica locale.

  2. Eliminare i record locali e correlati per TaskId che non esiste più.

  3. Se la data di modifica del servizio e la data di modifica locale sono diverse, eseguire una query sul rispettivo endpoint di entità passando TaskId e la chiave primaria dell'entità e aggiornare la versione locale.

Ripetere l'operazione per ogni entità correlata, ad esempio Assignment, TaskTimePhasedData.

Quota di Project Web App

Per impostazione predefinita, il sito di Project Web App ha un limite di 25 GB, ed è separato dal limite di tutti i dati archiviati nella raccolta siti di SharePoint in cui è abilitato Project Web App. L'utilizzo delle opzioni di granularità dei report per ridurre il volume di dati può aiutare a rimanere entro la quota.

Nota

La quota di PWA può essere aumentata (in incrementi) fino a un massimo di 100 GB. Una volta raggiunto il limite di quota, sarà necessario un nuovo sito di PWA. Gli aumenti oltre i 50 GB richiedono che il sito PWA non usi più l'opzione di granularità dei report rapportati alla scala cronologica giornaliera . Per discutere dell'aumento della quota di siti PWA, contattare Microsoft.

Conclusione

Project Online, come qualsiasi servizio cloud in esecuzione su Internet, richiede un'ottimizzazione specifica per offrire le migliori prestazioni rispetto a una distribuzione locale.

Anche se miglioriamo costantemente il sistema per velocizzare le prestazioni, ci sono alcune misure che puoi intraprendere nel frattempo per fornire una buona esperienza ai tuoi utenti finali.

Raccomandazione riassuntiva:

  • Usare la modalità di autorizzazione di SharePoint quando possibile.

  • Attiva solo le funzionalità che userai effettivamente.

  • Mantieni le pagine e la personalizzazione il più semplici e leggere possibile per tempi di caricamento delle pagine più rapidi.

  • Usare il filtro lato server o esportare Odata fornisce i dati a un database di SQL Server per una maggiore flessibilità di creazione di report.

  • Scegli un'opzione di granularità del reporting che utilizzi la minor quantità di dati che soddisfi le tue esigenze di reporting.

Project Online: limiti del software