Pianificazione della capacità nell'analisi incorporata di Power BI

Il calcolo del tipo di capacità necessario per una distribuzione di analisi incorporata di Power BI può essere complicato. La capacità necessaria dipende da diversi parametri, alcuni dei quali sono difficili da prevedere.

Alcuni degli aspetti da considerare durante la pianificazione della capacità sono:

  • I modelli di dati in uso.
  • Numero e complessità delle query necessarie.
  • Distribuzione oraria dell'utilizzo dell'applicazione.
  • Frequenza di aggiornamento dei dati.
  • Altri modelli di utilizzo difficili da prevedere.

Nota

Questo articolo illustra come pianificare la capacità necessaria e come eseguire una valutazione dei test di carico per SKU di analisi incorporata di Power BI.

Quando si pianifica la capacità, seguire questa procedura:

  1. Ottimizzare le prestazioni e l'utilizzo delle risorse.
  2. Determinare lo SKU minimo.
  3. Valutare il carico di capacità.
  4. Configurare la scalabilità automatica della capacità.

Ottimizzare le prestazioni e l'utilizzo delle risorse

Prima di avviare qualsiasi pianificazione della capacità o valutazione dei test di carico, ottimizzare le prestazioni e il consumo di risorse (in particolare il footprint di memoria) dei report e dei modelli semantici.

Per ottimizzare le prestazioni, seguire le linee guida nelle risorse seguenti:

Per un'esercitazione dettagliata sull'ottimizzazione delle prestazioni, vedere il modulo Ottimizzare un modello per le prestazioni nel modulo di training di Power BI .

Determinare lo SKU minimo

La tabella seguente riepiloga tutte le limitazioni che dipendono dalle dimensioni della capacità. Per determinare lo SKU minimo per la capacità, controllare la colonna Memoria massima (GB) sotto l'intestazione Del modello semantico. Tenere inoltre presenti le limitazioni correnti.

SKU Unità di capacità (CU) Power BI SKU Power BI v-core
F2 2 N/D N/D
F4 4 N/D N/D
F8 8 EM1/A1 1
F16 16 EM2/A2 2
F32 32 EM3/A3 4
F64 64 P1/A4 8
F128 128 P2/A5 16
F256 256 P3/A6 32
F5121 512 P4/A7 64
F10241 1.024 P5/A8 128
F20481 2.048 N/D N/D

1 Questi SKU non sono disponibili in tutte le aree. Per richiedere l'uso di questi SKU nelle aree in cui non sono disponibili, contattare il responsabile account Microsoft.

Valutare il carico di capacità

Per testare o valutare il carico di capacità:

  1. Creare una capacità Premium di Power BI Embedded in Azure per il test. Usare una sottoscrizione associata allo stesso tenant di Microsoft Entra del tenant di Power BI e di un account utente connesso allo stesso tenant.

  2. Assegnare l'area di lavoro (o le aree di lavoro) da usare per testare la capacità Premium creata. È possibile assegnare un'area di lavoro in uno dei modi seguenti:

    • A livello di codice con l'API Groups AssignToCapacity. Controllare lo stato dell'assegnazione con l'API Groups CapacityAssignmentStatus o tramite uno script di PowerShell. Per il codice di esempio, vedere la AssignWorkspacesToCapacity funzione nell'esempio Zero-Downtime-Capacity-Scale su GitHub.
    • Manualmente come amministratore dell'area di lavoro o tramite il portale di Amministrazione come amministratore della capacità. Per altre informazioni, vedere Assegnare un'area di lavoro a una capacità usando un utente master.
  3. Come amministratore della capacità, installare l'app Microsoft Fabric Capacity Metrics. Specificare l'ID di capacità e il tempo (in giorni) da monitorare e quindi aggiornare i dati.

  4. Usare lo strumento di valutazione del carico della capacità di Power BI per valutare le esigenze di capacità. Questo repository GitHub include anche una procedura dettagliata video. Usare questo strumento con attenzione: eseguire il test con un massimo di decine di utenti simulati simultanei ed estrapolare per carichi simultanei più elevati (centinaia o migliaia, a seconda delle esigenze). Per altre informazioni, vedere Valutare il carico di capacità. In alternativa, usare altri strumenti di test di carico, ma considerare l'iFrame come una casella nera e simulare l'attività utente tramite codice JavaScript.

  5. Usare l'app Microsoft Fabric Capacity Metrics installata nel passaggio 3 per monitorare l'utilizzo della capacità incorrere tramite lo strumento di test di carico. In alternativa, è possibile monitorare la capacità controllando le metriche Premium usando gli avvisi in Monitoraggio di Azure.

Prendere in considerazione l'uso di uno SKU più grande per la capacità se la CPU effettiva sostenuta per la capacità dal test di carico sta raggiungendo il limite di capacità.

Configurare la scalabilità automatica

È possibile usare la tecnica di scalabilità automatica seguente per ridimensionare in modo elastico la capacità A-SKU per soddisfare le esigenze correnti di memoria e CPU.

  • Usare l'API di aggiornamento delle capacità per ridimensionare lo SKU di capacità verso l'alto o verso il basso. Per informazioni su come usare l'API per creare script personalizzati per aumentare e ridurre le prestazioni, vedere un esempio di aumento della capacità di script powerShell per runbook.

  • Usare Gli avvisi di Monitoraggio per tenere traccia delle metriche di capacità di Power BI Embedded seguenti:

    • Overload (1 se la CPU della capacità ha superato il 100% e si trova in uno stato di overload, altrimenti 0)
    • CPU (percentuale di utilizzo della CPU)
    • CPU per carico di lavoro se vengono usati carichi di lavoro specifici (ad esempio report impaginati)
  • Configurare gli avvisi di monitoraggio in modo che quando queste metriche raggiungono i valori specificati, viene attivata un'esecuzione di script che ridimensiona la capacità verso l'alto o verso il basso.

Ad esempio, è possibile creare una regola che richiama il runbook di capacità con scalabilità orizzontale per aggiornare la capacità a uno SKU superiore se l'overload è 1 o se il valore della CPU è del 95%. È anche possibile creare una regola che richiama uno script del runbook di capacità di riduzione per aggiornare la capacità a uno SKU inferiore se il valore della CPU scende al di sotto del 45 o del 50%.

È anche possibile richiamare runbook di aumento e riduzione delle prestazioni a livello di codice su richiesta prima e dopo l'aggiornamento di un modello semantico. Questo approccio garantisce che la capacità disponga di RAM (GB) sufficiente per i modelli semantici di grandi dimensioni che usano tale capacità.