Ottimizzare le prestazioni di Project Online

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

Anche se uno dei vantaggi evidenti dell'uso di un servizio basato sul cloud consiste nell'evitare di dover gestire la distribuzione, la configurazione e l'ottimizzazione hardware e software, è comunque possibile eseguire alcuni passaggi per garantire che l'organizzazione ottenga le migliori prestazioni da Project Online.

Project Online offre molte impostazioni di configurazione e personalizzazione, ma le personalizzazioni 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 Office 365 progetto.

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 Project Online clienti e devono essere consultate oltre alle procedure consigliate seguenti specifiche per Project Online.

Project Online configurazione e personalizzazione

Molti elementi di un sito Project Web App possono essere configurati e personalizzati, dalle impostazioni amministrative alle autorizzazioni e dalle impostazioni di collaborazione all'aspetto. Verranno ora esaminate le impostazioni che possono potenzialmente influire sulle prestazioni complessive del sito Project Web App.

Verranno trattati i seguenti argomenti:

  • Modalità delle autorizzazioni di sicurezza

  • Tipi di progetto organizzazione

    • Configurazione del sito del 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 (PDP) e flussi di lavoro

  • Gestione degli eventi

  • OData e creazione di report

  • quota 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 nuovo modello di autorizzazione semplificato denominato modalità di autorizzazione di SharePoint, anziché la modalità di autorizzazione progetto legacy. Il confronto tra entrambe le modalità è disponibile in Technet.

Per impostazione predefinita, viene effettuato il provisioning di nuove istanze di Project Online in modalità di autorizzazione di SharePoint e siamo certi che questa modalità risolverà le esigenze della maggior parte dei clienti. Usando questa modalità, è possibile gestire l'autorizzazione utente tramite i normali gruppi e autorizzazioni di SharePoint.

La modalità di autorizzazione del progetto offre un livello elevato di personalizzazione, ma può essere a un prezzo in termini di prestazioni. Se si creano centinaia di categorie e si basano su autorizzazioni dinamiche tramite la struttura di suddivisione delle risorse, l'esperienza dell'utente finale potrebbe essere rallentata per gli utenti che hanno accesso a molti contenuti, ad esempio amministratori e gestori di portfolio.

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 classica di Project Server, è 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 elimina le informazioni sulle autorizzazioni di sicurezza da Project Server 2013 e Project Server 2016.

Raccomandazione:

Quando possibile, mantenere la modalità di autorizzazione predefinita di SharePoint per migliorare le prestazioni complessive. Se è necessario usare la modalità di autorizzazione Progetto, limitare il più possibile le personalizzazioni.

Tipi di progetto organizzazione

Un EPT (Enterprise Project Types ) rappresenta un wrapper che incapsula fasi, fasi, un singolo flusso di lavoro e pagine dei dettagli del progetto .

Gli EDT consentono anche di definire:

  • Configurazione del sito del progetto

  • Meccanismi di sincronizzazione tra Project Online e SharePoint Online

Configurazione del sito del progetto

I siti di progetto si basano sulle funzionalità principali 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ò migliorare l'esperienza complessiva degli utenti finali.

Molte organizzazioni usano 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 fanno il taglio, ottenere 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 consentire all'utente di scegliere quando creare il sito di collaborazione o, ancora meglio, di averlo creato da un flusso di lavoro non appena la proposta di progetto raggiunge un determinato gate di fase.

SharePoint Online attualmente SharePoint Online limita il numero di siti secondari che possono essere creati per ogni raccolta siti. Un EPT consente di definire in quale raccolta siti creare nuovi siti di progetto. In questo modo è possibile creare un sito di progetto per ogni progetto in quanto è possibile estenderlo in 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 dei progetti IT per creare siti di progetto al di fuori di https://contoso.sharepoint.com/sites/IT .

Percorso di creazione del sito del progetto.

Raccomandazione:

Se l'organizzazione usa siti di progetto, selezionare l'opzione per crearli su richiesta anziché automaticamente. Questo velocizza la prima esperienza di pubblicazione ed 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 organizzazione.

  2. Selezionare l'EPT in cui è necessario modificare l'impostazione.

  3. Nella sezione Sito del progetto della pagina Impostazioni EPT selezionare Consenti agli utenti di scegliere.

    Opzioni di creazione del sito del progetto.

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

Cosa si sincronizza?

Project Online viene eseguito in SharePoint Online nello stesso modo in cui Project Server viene eseguito su SharePoint Server. Di conseguenza, è necessario mantenere sincronizzato un certo numero di componenti tra due sistemi. Queste sincronizzazioni possono richiedere molto tempo e, a seconda delle esigenze aziendali, a volte possono non essere necessarie. Questo articolo illustra tutti questi vari sistemi di sincronizzazione per consentire di decidere quali sono necessari e quali possono essere disattivati in modo sicuro. Alcune di queste impostazioni sono già disattivate per impostazione predefinita.

Nelle sezioni seguenti viene illustrato quanto segue:

  • Sincronizzare le autorizzazioni utente per il sito del progetto

  • Sincronizzare gli elenchi di attività di SharePoint per i progetti Enterprise

Autorizzazioni utente di sincronizzazione

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

Questa sincronizzazione viene eseguita ogni volta che il progetto viene pubblicato. Il compromesso per la praticità di sincronizzazione è rappresentato dalle prestazioni, ad esempio il maggior numero di utenti e siti da sincronizzare, il rallentamento dell'operazione, soprattutto se si esegue la pubblicazione in blocco, l'importazione o la creazione di più progetti (con siti progetti) o l'aggiornamento delle appartenenze ai gruppi che richiederanno una risincronizzazione delle autorizzazioni del sito del 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 è la posizione in cui si trova Project Web App e l'EPT crea 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 è vero quanto segue per la distribuzione:

  • Si dispone di un numero elevato di risorse (>1000)

  • Si dispone di un numero elevato di progetti che richiedono un sito del 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 all'esterno della raccolta siti predefinita (la sincronizzazione è disabilitata)

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

  • Se il fatturato dei team di progetto è basso, è consigliabile disattivare la sincronizzazione delle autorizzazioni del sito del progetto per migliorare le prestazioni di Pubblicazione progetto e Pagine dettagli progetto. È quindi necessario concedere o rimuovere manualmente l'autorizzazione ai siti di Project ogni volta che un utente entra o lascia un team di progetto.

  • Se è necessario concedere l'accesso a tutti gli utenti di PWA e viene eseguito il mapping alle autorizzazioni di gruppo esistenti, è consigliabile configurare i siti di Project per ereditare dal sito padre di PWA.

  • Se l'accesso al sito è allineato a ruoli specifici, creare uno o più gruppi che eseguono il mapping a tali ruoli (possibilmente 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 Sync User Permisssions by:For each EPT, you can turn on Sync User Permisssions by:

  1. In impostazioni Project Web App fare clic su Tipi di progetto organizzazione.

  2. Selezionare l'EPT in cui è necessario modificare l'impostazione.

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

    Sincronizzazione autorizzazioni utente.

Sincronizzare gli elenchi di attività di SharePoint per i progetti Enterprise

Gli elenchi attività di SharePoint di sincronizzazione sono disattivati per impostazione predefinita per migliorare la velocità di pubblicazione del progetto. Ciò consente anche di velocizzare la transizione tra le pagine dei dettagli del progetto. Se gli utenti si basano sull'elenco attività e sulla relativa visualizzazione della sequenza temporale nel sito di Project, è possibile attivare questa funzionalità e verificare se l'impatto sulle prestazioni della 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 è la posizione in cui si trova Project Web App e l'EPT crea siti di progetto in https://contoso.sharepoint.com/sites/IT), la sincronizzazione degli elenchi attività di SharePoint non è supportata.

Consiglio

L'opzione Sincronizza elenchi attività di SharePoint è stata progettata per l'uso con piani di progetto di piccole dimensioni. Se il progetto include 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 di attività 500 nell'elenco attività di SharePoint richiede alcuni minuti. Anche se il processo di 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 hanno bisogno della funzionalità per ogni EPT. Per configurare questa opzione:

  1. In impostazioni Project Web App fare clic su Tipi di progetto organizzazione.

  2. Selezionare l'EPT in cui è necessario modificare l'impostazione.

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

    Sincronizzare gli elenchi di 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 downstream su altre parti del sistema può influire sulle prestazioni. Il processo principale per tenere d'occhio è la sincronizzazione delle autorizzazioni delle risorse menzionata in precedenza. Se è presente un fatturato elevato nell'appartenenza ai gruppi di Active Directory e ciò richiede la sincronizzazione frequente del pool di risorse, monitorare eventuali effetti downstream sui processi di sincronizzazione delle autorizzazioni correlati.

Raccomandazione:

Limitare la sincronizzazione di Active Directory a 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 dell'organizzazione di Active Directory, in Impostazioni Project Web App fare clic su Sincronizzazione pool di risorse di Active Directory.

Personalizzazioni di pagine e visualizzazioni di PWA

Personalizzazioni delle pagine

La piattaforma SharePoint offre funzionalità di personalizzazione eccezionali con l'infrastruttura di webpart modulare e il supporto per le pagine personalizzate. Quando si aggiungono logo, web part personalizzate e nuovi temi, potrebbe non avere un impatto significativo sulle prestazioni in un'infrastruttura locale a causa dei vantaggi della prossimità del server, della bassa latenza e delle reti a larghezza di banda elevata. Tuttavia, su un servizio online, la storia è diversa.

Quando si carica un logo o un elemento grafico con dimensioni di file di grandi dimensioni, potrebbe rallentare leggermente le pagine in una distribuzione locale, ma online, il riscontro delle prestazioni nei caricamenti delle pagine è notevole.

Lo stesso principio si applica quando si aggiungono più webparts a una pagina. Potrebbe essere consigliabile avere una pagina personalizzata con più webparts, ma a meno che gli utenti non debbano effettivamente visualizzare i dati affiancati, è meglio avere pagine specializzate separate piuttosto che avere tutto in un'unica posizione. Se gli utenti hanno bisogno solo del contenuto di una webpart nella pagina, devono comunque attendere più a lungo il caricamento della pagina e visualizzare i dati per tutte le altre web part.

Raccomandazione:

Quando si personalizzano le pagine, considerare il sito Project Online come qualsiasi normale sito Web Internet e creare pagine leggere il più possibile.

Personalizzazioni delle visualizzazioni

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

Più contenuto viene visualizzato, più lento sarà il rendering della pagina. È possibile ridurre il tempo di caricamento di ogni pagina di alcuni secondi se si fornisce agli utenti un numero maggiore di visualizzazioni semplici e mirate anziché alcune visualizzazioni "all-in-one".

Negli esempi seguenti, la seconda visualizzazione richiede una media di 2-3 secondi in meno per il caricamento rispetto alla prima.

Screenshot della visualizzazione personalizzata di Project Center.

Screenshot della visualizzazione Centro progetti.

Raccomandazione:

Quando si configurano le visualizzazioni, offrire agli utenti semplici visualizzazioni specializzate per una navigazione più veloce anziché una visualizzazione completa complessa che caricherebbe i dati non necessari per la maggior parte del tempo.

Impostazioni visualizzazione utente

Centro progetti: Raggruppa per con rollup

Gli utenti possono configurare modi diversi per eseguire il rendering della visualizzazione, inclusa la raggruppamento dei dati in base a campi diversi. Quando si usa group by, è possibile eseguire il roll up dei dati per i campi di aggregazione supportati, ad esempio i costi di somma 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 roll up per i campi di aggregazione.

Raccomandazione:

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

Opzione di rollup.

Centro progetti: Diagramma di Gantt

Nella parte del grafico della visualizzazione Diagramma di Gantt ogni progetto viene visualizzato come barra di Gantt di riepilogo.

Raccomandazione:

A meno che l'utente non debba visualizzare Gantt, disabilitare l'opzione Diagramma di Gantt nella barra multifunzione.

Opzione Diagramma di Gantt.

Pagine e flussi di lavoro dei dettagli del progetto personalizzati

Oltre alla raccomandazione indicata in precedenza per la progettazione delle pagine, le pagine dei dettagli del progetto (PDP) sono in particolare in grado di attivare un ricalcolo dell'intero progetto e avviare le azioni del flusso di lavoro, che possono essere entrambe operazioni costose in termini di prestazioni, a seconda delle personalizzazioni.

Project Online e Project Server dispongono di due processi di aggiornamento principali per le informazioni sul progetto:

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

  • Campi non correlati alla pianificazione, ad esempio nome del progetto, descrizione e proprietario.

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

Di seguito è riportato un elenco delle azioni più comuni che richiedono un ricalcolo della pianificazione.

  • Modifiche al calendario del progetto

  • Modifiche ai campi di data seguenti:

    • 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 PDP consiste nel ridurre il numero di webparts 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 carico e risparmiare tempo. La visualizzazione di tutti i campi personalizzati in qualsiasi momento comporta un sovraccarico non necessario.

Raccomandazione:

Creare PDP specializzati leggeri ed evitare di combinare aggiornamenti correlati alla pianificazione e non correlati 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. In questo modo si riducono le prestazioni quando si aggiornano contemporaneamente molti campi personalizzati in una rete a bassa larghezza di banda a latenza elevata.

Per risolvere questo problema, è disponibile 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 di siti di progetto su richiesta

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

È possibile utilizzare il metodo CreateProjectSite('') per decidere quando creare i siti di progetto. Ciò è particolarmente utile per le organizzazioni che vogliono creare i propri siti solo dopo che una proposta di progetto raggiunge una fase specifica in un flusso di lavoro predefinito, anziché alla prima pubblicazione. Ciò migliora significativamente le prestazioni della creazione del progetto posticipando la creazione di siti di 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 che questi componenti aggiuntivi completino la gestione degli eventi prima di poter 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 per assicurarsi che il codice sia in grado di gestire gli eventi After in modo asincrono. Possono accedere a questo articolo per altre informazioni sulle procedure che possono seguire per la gestione di questi eventi.

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

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

  2. Nella sezione Gestione eventi asincroni per gli eventi After assicurarsi che sia selezionata l'opzione Attiva l'elaborazione asincrona dopo l'elaborazione degli eventi .

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

  3. Selezionare Salva.

    Sarà quindi necessario testare le 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 report OData ProjectData è definita qui.

Le chiamate al servizio di report OData projectdata sono gestite da SharePoint Online. Vedere l'articolo Evitare di essere limitati o bloccati in SharePoint Online per assicurarsi che le chiamate siano meno probabili di essere limitate e per implementare correttamente le raccomandazioni di ripetizione dei tentativi e di back-off esponenziale.

Inoltre, seguendo le raccomandazioni descritte 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, verificare nell'intera organizzazione che più reparti possano eseguire query sugli stessi dati o non seguire le procedure consigliate descritte in questo articolo e che interessano tutti.

Creazione di report rapportati alla scala cronologica

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

Elenco di opzioni in ordine di prestazioni (dalla maggiore alla meno performante correlata alla quantità di dati generati):

  • Mai

  • Periodi fiscali

  • Mensile

  • Settimanale

  • Giornaliera

I periodi fiscali hanno il grande vantaggio rispetto a Monthly in quanto i dati di report vengono conservati solo per periodi fiscali definiti, mentre Monthly conterrà i dati per l'intera durata di tutti i progetti.

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

Raccomandazione:

Archiviare la quantità minima di dati rapportati alla scala cronologica coerenti con le esigenze aziendali. Non usare Daily se sono presenti flussi di lavoro che attendono il completamento della pubblicazione. Ogni giorno può richiedere molto tempo per generare i dati necessari, 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 OData ProjectData. Di conseguenza, per eseguire query su una grande quantità di dati è necessario inviare più richieste Web al servizio, aggiungendo sovraccarico di rete e latenza per ogni richiesta.

Raccomandazione:

Evitare di eseguire il caricamento completo dei dati "aggiorna tutto". Questi aggiornamenti possono influire sulle prestazioni del sito di PWA, in particolare durante i periodi di utilizzo di picco, con conseguente riduzione complessiva delle prestazioni delle operazioni utente in PWA o limitazione delle richieste.

Eseguire azioni di aggiornamento Odata dopo ore. Le decisioni di mantenere in tempo reale o vicino a report reali devono anche prendere in considerazione i compromessi tra le prestazioni e l'esperienza utente nel sito di PWA. Se sono presenti requisiti "aggiorna tutto", vedere la sezione "SQL Server Integration Services (SSIS) - Consigliato per set di dati di grandi dimensioni".

Per un'istanza di Project Web App che contiene un numero elevato di entità, ad esempio progetti, assegnazioni o attività, è necessario 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. Ad esempio, la query seguente filtra in base alla data di inizio del progetto e restituisce solo quattro campi, in ordine del 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 campi personalizzati che sono ricerche multivalore. Il calcolo aggiuntivo è necessario per elaborare valori di campo personalizzati che sono ricerche multivalore. Questi campi non sono in grado di sfruttare diverse ottimizzazioni implementate per scenari più comuni per i clienti. Se i campi personalizzati multivalore sono già stati configurati, migliorare la velocità di ricerca e l'affidabilità garantendo che nessuno di questi campi sia specificato nella query Odata filtrata.

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

  • Chiavi

    Nota

    Se sono presenti più chiavi, l'uso della prima chiave migliorerà rispetto all'uso della seconda chiave.

  • Associazioni

    Ad esempio, è possibile eseguire query sull'entità Assignment 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 della risorsa assegnata al problema:

    https://ServerName/ProjectServerName/_api/ProjectData/Issues?$skip=10&$top=10&$orderby=AssignedToResource
    
  • Evitare di recuperare il nome progetto/attività/risorsa durante l'esecuzione di 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 durante l'esecuzione di query su Assegnazione.

Raccomandazione:

  • Limitare la quantità di dati su cui si esegue una query in fase di esecuzione usando il filtro lato server per recuperare solo le colonne necessarie. L'impatto di questo è più evidente con i campi personalizzati. Aggiungere i campi personalizzati solo se sono necessari.

  • Assicurarsi di applicare filtri alla chiave di entità. La chiave di 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 di dati e creazione di report

PowerBI

Se la quantità di dati è ridotta, Power BI può leggere regolarmente i dati dal servizio Project OData 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 inserire un subset dei dati purché soddisfi i limiti di dimensioni dei dati PowerBI descritti qui. Un'altra opzione consiste nel creare i report in una finestra mobile, ad esempio filtrare i progetti attivi negli ultimi 30 giorni o visualizzare la capacità delle risorse per i 6 mesi successivi. Esaminare la sezione $filter/$select per informazioni sulle procedure consigliate, perché PowerBI potrebbe non sfruttare le ottimizzazioni dei filtri sul lato servizio.

Excel OData

Excel può essere usato per scaricare dati e compilare visualizzazioni/report personalizzati. Se la quantità di dati in Project Online è elevata, un subset 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 6 mesi successivi. Esaminare la sezione $filter/$select per informazioni sulle procedure consigliate perché Excel potrebbe non sfruttare le ottimizzazioni del filtro sul lato servizio.

SQL Server Integration Services (SSIS)

Usando SSIS, Project Online dati di report possono essere scaricati dal servizio Project OData in un database sql server locale o in Microsoft Azure. Dopo il download, è possibile creare qualsiasi report/visualizzazione. È necessario un ulteriore processo per mantenere sincronizzati i dati locali con Project Online.

Quando si usa SSIS, usare il modello seguente per cui Project Online è stato ottimizzato. Il modello ridurrà la quantità di tempo necessaria per recuperare e mantenere sincronizzati i dati locali. Scaricare inoltre solo i campi necessari per soddisfare i requisiti aziendali. Minore è il numero di campi su cui viene eseguita la query, più velocemente i dati possono essere recuperati.

Sincronizzazione completa

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

Ad esempio, usando l'entità Project .

  1. Eseguire una query su ProjectId dall'entità Project, inclusi eventuali filtri aggiuntivi. Ad esempio, filtrare in base a progetti con date di inizio o fine specifiche.

  2. Eseguire una query sull'entità Project specificando i campi da scaricare, filtrando in base a un singolo ProjectId recuperato in precedenza. Includere ProjectModifiedDate come viene usato nel modello di sincronizzazione differenziale riportato di seguito.

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

Ad esempio, usando l'entità Task :

  1. Eseguire una query su TaskId da Un filtro entità attività in tutti i campi aggiuntivi e sul projectId del passaggio precedente.

  2. Eseguire una query sull'entità Task specificando i campi da scaricare e filtrando in base a un singolo TaskId recuperato in precedenza. Includere TaskModifiedDate come viene usato nel modello di sincronizzazione differenziale seguente.

  3. Ripetere per ogni 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 informazioni della scheda attività:

  • Scheda attività: recuperare timesheetId e ModifiedDate in base ai criteri di filtro , quindi record scheda attività, quindi TimeSheetLines filtro sul TimeSheetId e continuare con altre entità correlate, assicurando che si sta archiviando da ID chiave primaria (TimesheetUID) e campi data di modifica.

Quando si recuperano le informazioni sull'entità risorsa:

  • Recuperare ResourceId e ResourceModifiedDate, quindi Record risorsa , Quindi ResourceTimephasedData e così via. Includere i rispettivi campi ID chiave primaria e date di modifica.

Sincronizzazione delta

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

  1. Eseguire una query su tutte le date di ProjectId e modifica dall'endpoint di Project usando criteri di $filter.

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

  3. Dove 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 tutti i campi obbligatori che filtrano in base a un singolo ProjectId alla volta. Inoltre, per ogni ProjectId, scaricare i dati per le entità correlate.

Ad esempio, usando l'entità Task :

  1. Eseguire una query su TaskId e TaskModifiedDate dall'entità Task filtrando i campi aggiuntivi e il projectid del progetto del passaggio precedente in cui i dati sono stati modificati, ad esempio la data di modifica del servizio Project non corrisponde alla data di modifica locale.

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

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

Ripetere per ogni entità correlata, ad esempio Assignment, TaskTimephasedData.

Quota Project Web App

Per impostazione predefinita, il sito Project Web App include un limite di 25 GB ed è separato dal limite per tutti i dati archiviati nella raccolta siti di SharePoint in cui è abilitato Project Web App. L'uso delle opzioni di granularità dei report per ridurre il volume di dati può essere utile per rimanere all'interno della quota.

Nota

La quota PWA può essere aumentata (in incrementi) a un massimo di 100 GB. Una volta raggiunto il limite di quota, sarà necessario un nuovo sito PWA. Gli aumenti superiori a 50 GB richiedono che il sito di 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 stiamo migliorando costantemente il sistema per velocizzare le prestazioni, nel frattempo è possibile eseguire alcuni passaggi per offrire una buona esperienza agli utenti finali.

Raccomandazione di riepilogo:

  • Quando possibile, usare la modalità di autorizzazione di SharePoint.

  • Attivare solo le funzionalità che verranno effettivamente usate.

  • Mantenere le pagine e la personalizzazione il più semplice e leggero possibile per tempi di caricamento delle pagine più veloci.

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

  • Scegliere un'opzione di granularità per la creazione di report che usa la quantità minima di dati che soddisfa le esigenze di creazione di report.

Project Online: limiti del software