Procedure consigliate per le prestazioni dell'analisi incorporata di Power BIPower BI embedded analytics performance best practices

Questo articolo contiene suggerimenti su come velocizzare il rendering di report, dashboard e riquadri nell'applicazione.This article provides recommendations for faster rendering of reports, dashboards, and tiles in your application.

Nota

Tenere presente che il tempo di caricamento dipende principalmente dagli elementi rilevanti per il report e dai dati, inclusi gli oggetti visivi, le dimensioni dei dati e la complessità delle query e delle misure.Remember that loading time mainly depends on elements relevant to the report and data itself, including visuals, the size of the data, and the complexity of the queries and measures. Per altre informazioni, vedere la Guida all'ottimizzazione per Power BI.For more information, see the Power BI optimization guide.

Aggiornare strumenti e pacchetti SDKUpdate tools and SDK packages

Mantenere gli strumenti e i pacchetti SDK aggiornati.Keep tools and SDK packages up-to-date.

  • Usare sempre la versione più recente di Power BI Desktop.Always use the latest version of Power BI Desktop.

  • Installare la versione più recente dell'SDK del client Power BI.Install the latest version of the Power BI client SDK. Vengono continuamente rilasciati miglioramenti aggiuntivi, quindi è opportuno verificarne regolarmente la disponibilità.We continuously release additional enhancements, so make sure to follow up from time to time.

Parametri di incorporamentoEmbed parameters

Il metodo powerbi.embed(element, config) riceve un elemento e una configurazione. Il parametro config include campi con implicazioni sulle prestazioni.The powerbi.embed(element, config) method receives an element and a config. The config parameter includes fields that have performance implications.

URL di incorporamentoEmbed URL

Evitare di generare manualmente l'URL di incorporamento.Avoid generating the embed URL yourself. Assicurarsi invece di ricevere l'URL di incorporamento chiamando l'API Get Reports, Get dashboards o Get tiles.Instead, make sure you get the Embed URL by calling Get reports, Get dashboards, or Get tiles API. È stato aggiunto all'URL un nuovo parametro denominato config, usato per migliorare le prestazioni.We added a new parameter to the URL called config, which is used for performance improvements.

AutorizzazioniPermissions

Concedere le autorizzazioni per la visualizzazione se non si prevede di incorporare un report in modalità di modifica.Provide View permissions if you're not intending to embed a report in edit mode. In questo modo il codice incorporato non inizializza i componenti usati in modalità di modifica.This way, embedded code doesn't initialize components, which are used in edit mode.

Filtri, segnalibri e filtri dei datiFilters, bookmarks, and slicers

In genere, gli oggetti visivi del report vengono salvati con i dati memorizzati nella cache.Usually, report visuals are saved with cached data. I dati memorizzati nella cache vengano usati per offrire le prestazioni percepite.The cached data is used to give perceived performance. I report eseguono il rendering dei dati memorizzati nella cache durante l'esecuzione delle query.Reports render cached data while queries are executed. Se vengono specificati filtri, segnalibri o filtri dei dati, i dati memorizzati nella cache non sono rilevanti e il rendering degli oggetti visivi viene eseguito solo dopo il termine della query.If filters, bookmarks, or slicers are provided, cached data isn't relevant and the visuals are rendered only after the visual query has ended.

Se si incorporano report con gli stessi filtri, segnalibri e filtri dei dati, per migliorare le prestazioni salvare il report con i filtri, i segnalibri e i filtri dei dati già applicati.If you embed reports with the same filters, bookmarks, and slicers, to improve your performance, save the report with the filters, bookmarks, and slicers already applied. In questo modo viene eseguito il rendering del report con i dati memorizzati nella cache che includono filtri, segnalibri e filtri dei dati.This renders the report with the cached data which includes the filters, bookmarks, and slicers.

Spostamento tra reportSwitching between reports

Quando si incorporano più report nello stesso iFrame, non generare un nuovo iFrame per ogni report.When embedding multiple reports to the same iframe, don't generate a new iframe for each report. Usare invece powerbi.embed(element, config) con una configurazione diversa per incorporare il nuovo report.Instead, use powerbi.embed(element, config) with a different config to embed the new report.

Nota

Il cambio tra i report durante l'incorporamento per i clienti (noto anche come scenario di proprietà dell'app) richiede l'uso di un token di incorporamento con le autorizzazioni per tutti i report e i set di dati.Switching between reports when embedding for your customers (also known as an 'app owns data' scenario), requires the use of an embed token with permissions to all reports and datasets. Per altre informazioni, vedere Generate token API (Generare token dell'API).For more information, see the generate token API.

Memorizzazione di query nella cacheQuery caching

Le organizzazioni con capacità Power BI Premium o Power BI Embedded possono sfruttare la memorizzazione di query nella cache per velocizzare la produzione di report associati a un set di dati.Organizations with Power BI Premium capacity or Power BI Embedded capacity can take advantage of query caching to speed up reports associated with a dataset.

Altre informazioni sulla memorizzazione di query nella cache in Power BI.Learn more about query caching in Power BI.

PrecaricamentoPreload

Usare powerbi.preload() per migliorare le prestazioni per l'utente finale.Use powerbi.preload() to improve the end-user performance. Il metodo scarica JavaScript, i file CSS e altri elementi, che vengono usati in un secondo powerbi.preload() momento per incorporare un report.The method powerbi.preload() downloads JavaScript, css files, and other artifacts, which are used later to embed a report.

Se non si incorpora immediatamente il report, chiamare powerbi.preload().Call powerbi.preload() if you're not embedding the report immediately. Ad esempio, se il contenuto di Power BI incorporato non viene visualizzato nella home page, usare powerbi.preload() per scaricare e memorizzare nella cache gli artefatti usati per incorporare il contenuto.For example, if the embedded Power BI content doesn't appear in the home page, use powerbi.preload() to download and cache the artifacts that are used for embedding the content.

Bootstrap dell'iFrameBootstrapping the iframe

Nota

Per eseguire il bootstrap dell'iFrame è necessario Power BI client SDK versione 2.9.Power BI client SDK version 2.9 is required to bootstrap the iframe.

powerbi.bootstrap(element, config) consente di iniziare l'incorporamento prima che siano disponibili tutti i parametri necessari.powerbi.bootstrap(element, config) allows you to start embedding before all required parameters are available. L'API di bootstrap prepara e inizializza l'iFrame.The bootstrap API prepares and initializes the iframe. Quando si usa l'API di bootstrap, è comunque necessario chiamare powerbi.embed(element, config) sullo stesso elemento HTML.When using the bootstrap API, it's still required to call powerbi.embed(element, config) on the same HTML element.

Ad esempio uno dei casi d'uso di questa funzionalità è l'esecuzione in parallelo del bootstrap dell'iFrame e delle chiamate back-end per l'incorporamento.For example, one of the use cases for this feature, is to run the iframe bootstrap and the back-end calls for embedding, in parallel.

Suggerimento

Usare l'API di bootstrap quando è possibile generare l'iFrame prima che sia visibile per l'utente finale.Use the bootstrap API when it's possible to generate the iframe before it's visible to the end user.

Altre informazioni sul bootstrap dell'iFrame.Learn more about iframe bootstrap.

Misurare le prestazioniMeasure performance

Eventi di prestazioniPerformance events

Per misurare le prestazioni incorporate, è possibile usare due eventi:To measure embedded performance, you may use two events:

  1. Evento caricato: tempo di inizializzazione del report. Il logo di Power BI scomparirà al termine del caricamento.Loaded event: The time until the report is initialized (the Power BI logo will disappear when the load is finished).
  2. Evento con rendering: tempo necessario per il rendering completo del report usando i dati effettivi.Rendered event: The time until the report is fully rendered, using the actual data. L'evento con rendering viene generato ogni volta che il report viene di nuovo sottoposto a rendering, ad esempio, dopo l'applicazione di filtri.The rendered event is fired each time the report is re-rendered (for example, after applying filters). Per misurare un report, assicurarsi di eseguire i calcoli sul primo evento generato.To measure a report, make sure you do the calculations on the first raised event.

Il rendering dei dati memorizzati nella cache viene eseguito quando disponibile ma non viene generato alcun evento aggiuntivo.Cached data is rendered when available but no additional event is generated.

Altre informazioni sulla gestione degli eventi.Learn more about event handling.

Analizzatore prestazioniPerformance Analyzer

Per esaminare le prestazioni degli elementi del report, è possibile usare l'analizzatore prestazioni in Power BI Desktop.To examine the performance of the report elements, you might use the Performance Analyzer in Power BI Desktop. L'analizzatore prestazioni consente di visualizzare e registrare log che misurano le prestazioni di ogni report.The Performance Analyzer will allow you to see and record logs that measure how each of your report elements performs.

Altre informazioni sull'analizzatore prestazioni.Learn more about Performance Analyzer.

Nota

Ricordarsi sempre di confrontare le prestazioni del report incorporato con le prestazioni in powerbi.com.Always remember to compare the embedded report performance to the performance on powerbi.com. Questo può essere utile per comprendere l'origine dei problemi di prestazioniThis might help you understand the origin of your performance issues

Passaggi successiviNext steps