Průvodce optimalizací pro Power BIOptimization guide for Power BI

Tento článek obsahuje pokyny, které umožňují vývojářům a správcům vytvořit a udržovat optimalizovaná řešení Power BI.This article provides guidance that enables developers and administrators to produce and maintain optimized Power BI solutions. Své řešení můžete optimalizovat v různých vrstvách architektury.You can optimize your solution at different architectural layers. Mezi tyto vrstvy patří:Layers include:

  • Zdroj(e) datThe data source(s)
  • Datový modelThe data model
  • Vizualizace, například řídicí panely, sestavy a stránkované sestavy Power BIVisualizations, including dashboards, Power BI reports, and Power BI paginated reports
  • Prostředí, což znamená kapacity, brány dat a sítěThe environment, including capacities, data gateways, and the network

Optimalizace datového modeluOptimizing the data model

Kompletní prostředí vizualizace je určeno datovým modelem.The data model supports the entire visualization experience. Datové modely jsou externě nebo interně hostované a v Power BI se označují jako datové sady.Data models are either external-hosted or internal-hosted, and in Power BI they are referred to as datasets. Je důležité, abyste věděli, jaké máte k dispozici možnosti, a zvolili pro své řešení tu správnou datovou sadu.It's important to understand your options, and to choose the appropriate dataset type for your solution. Datové sady mají tři režimy: režim importu, režim DirectQuery a složený režim.There are three dataset modes: Import, DirectQuery, and Composite. Další informace najdete v článcích Datové sady ve službě Power BI a Režimy datových sad ve službě Power BI.For more information, see Datasets in the Power BI service, and Dataset modes in the Power BI service.

Pokyny pro konkrétní režim datové sady najdete zde:For specific dataset mode guidance, see:

Optimalizace vizualizacíOptimizing visualizations

Mezi vizualizace Power BI patří řídicí panely, sestavy a stránkované sestavy.Power BI visualizations can be dashboards, Power BI reports, or Power BI paginated reports. Každá z nich má odlišnou architekturu, tedy i své vlastní pokyny.Each has different architectures, and so each has their own guidance.

Řídicí panelyDashboards

Je důležité vědět, že Power BI udržuje mezipaměť pro dlaždice na řídicím panelu – s výjimkou živých dlaždic sestav a dlaždic streamování.It's important to understand that Power BI maintains a cache for your dashboard tiles—except live report tiles, and streaming tiles. Další informace najdete v článku Aktualizace dat v Power BI (aktualizace dlaždic).For more information, see Data refresh in Power BI (Tile refresh). Pokud datová sada vynucuje dynamické zabezpečení na úrovni řádků, měli byste znát vliv na výkon, protože dlaždice se budou ukládat do mezipaměti pro jednotlivé uživatele.If your dataset enforces dynamic row-level security (RLS), be sure to understand performance implications as tiles will cache on a per-user basis.

Když na řídicí panel připnete živé dlaždice sestavy, neobsluhují se z mezipaměti dotazů.When you pin live report tiles to a dashboard, they're not served from the query cache. Místo toho se chovají jako sestavy a průběžně provádějí dotazy vůči back-endu.Instead, they behave like reports, and make queries to back-end cores on the fly.

Jak název napovídá, načítání dat z mezipaměti poskytuje lepší a konzistentnější výkon než závislost na zdroji dat.As the name suggests, retrieving the data from the cache provides better and more consistent performance than relying on the data source. Jeden ze způsobů využití této funkčnosti spočívá v tom, že z řídicích panelů uděláte první cílovou stránku pro uživatele.One way to take advantage of this functionality is to have dashboards be the first landing page for your users. Často používané a vysoce žádané vizuály připněte na řídicí panely.Pin often-used and highly requested visuals to the dashboards. Z řídicích panelů se tak stane účinná „první linie obrany“, která poskytuje konzistentní výkon s menšími nároky na kapacitu.In this way, dashboards become a valuable "first line of defense", which delivers consistent performance with less load on the capacity. Uživatelé mohou kliknutím na sestavu pořád analyzovat podrobnosti.Users can still click through to a report to analyze details.

U datových sad, které používají DirectQuery a živé připojení, se tato mezipaměť dotazů udržuje v aktuálním stavu pravidelným dotazováním zdroje dat.For DirectQuery and live connection datasets, the cache is updated on a periodic basis by querying the data source. Standardně k tomu dochází každou hodinu, i když v nastavení datové sady můžete nakonfigurovat odlišnou frekvenci.By default, it happens every hour, though you can configure a different frequency in the dataset settings. Při každé aktualizaci mezipaměti se podkladovému zdroji dat odešlou dotazy za účelem její aktualizace.Each cache update will send queries to the underlying data source to update the cache. Počet vygenerovaných dotazů se odvíjí od počtu vizuálů připnutých k řídicím panelům, které závisejí na daném zdroji dat.The number of queries that generate depends on the number of visuals pinned to dashboards that rely on the data source. Když je povolené zabezpečení na úrovni řádků, generují se dotazy pro každý odlišný kontext zabezpečení.Notice that if row-level security is enabled, queries are generated for each different security context. Dejme tomu, že používáte dvě odlišné role pro kategorizaci uživatelů, které mají dvě odlišná zobrazení dat.For example, consider there are two different roles that categorize your users, and they have two different views of the data. Během aktualizace mezipaměti dotazů generuje Power BI dvě sady dotazů.During query cache refresh, Power BI generates two sets of queries.

Sestavy Power BIPower BI reports

Při optimalizaci návrhů sestav Power BI můžete využít několik doporučení.There are several recommendations for optimizing Power BI report designs.

Poznámka

Pokud jsou sestavy založené na datové sadě DirectQuery, najdete další optimalizace návrhu sestav v článku Pokyny k modelu DirectQuery v Power BI Desktopu (optimalizace návrhů sestav).When reports are based on a DirectQuery dataset, for additional report design optimizations, see DirectQuery model guidance in Power BI Desktop (Optimize report designs).

Použití maximálně omezujících filtrůApply the most restrictive filters

Čím více dat má vizuál zobrazit, tím pomaleji se načítá.The more data that a visual needs to display, the slower that visual is to load. I když je tento princip zřejmý, snadno se na něj zapomíná.While this principle seems obvious, it's easy to forget. Příklad: Dejme tomu, že máte velkou datovou sadu.For example: suppose you have a large dataset. Na základě této datové sady vytvoříte sestavu s tabulkou.Atop of that dataset, you build a report with a table. K požadovaným řádkům se koncoví uživatelé dostanou pomocí průřezů na stránce – zpravidla se zajímají o pár desítek řádků.End users use slicers on the page to get to the rows they want—typically, they're only interested in a few dozen rows.

Běžnou chybou je ponechat výchozí zobrazení tabulky nefiltrované – to znamená se všemi více než 100 milióny řádky.A common mistake is to leave the default view of the table unfiltered—that is, all 100M+ rows. Data těchto řádků se načítají do paměti a při každé aktualizaci se dekomprimují.The data for these rows loads into memory and is uncompressed at every refresh. Toto zpracování má ohromné nároky na paměť.This processing creates huge demands for memory. Řešení: Omezte maximální počet položek v tabulce pomocí filtru Nejlepší.The solution: use the "Top N" filter to reduce the max number of items that the table displays. Maximální počet položek můžete nastavit na větší hodnotu, než uživatelé potřebují, například na 10 000.You can set the max item to larger than what users would need, for example, 10,000. Uživatelské prostředí se přitom nezmění, ale nároky na paměť budou mnohem menší.The result is the end-user experience doesn't change, but memory use drops greatly. Nejdůležitější ale je, že se zvýší výkon.And most importantly, performance improves.

Podobný přístup k návrhu se doporučuje použít u každého vizuálu v sestavě.A similar design approach to the above is suggested for every visual in your report. Zeptejte se sami sebe: Jsou všechna data v tomto vizuálu potřebná?Ask yourself, is all the data in this visual needed? Dá se množství dat zobrazených v tomto vizuálu nějak filtrovat, aby to na prostředí koncového uživatele mělo minimální dopad?Are there ways to filter the amount of data shown in the visual with minimal impact to the end-user experience? Nezapomeňte, že zvláště tabulky mohou být velmi náročné.Remember, tables in particular can be expensive.

Omezení vizuálů na stránkách sestavyLimit visuals on report pages

Výše uvedený princip platí také pro počet vizuálů přidaných na stránku sestavy.The above principle applies equally to the number of visuals added to a report page. Počet vizuálů na konkrétní stránce sestavy se důrazně doporučuje omezit jen na ty, které jsou opravdu potřebné.It's highly recommended you limit the number of visuals on a particular report page to only what is necessary. Stránky podrobností a popisy stránky sestavy představují skvělé způsoby, jak nabídnout více detailů bez hromadění dalších vizuálů na stránce.Drillthrough pages and report page tooltips are great ways to provide additional details without jamming more visuals onto the page.

Vyhodnocení výkonu vlastního vizuáluEvaluate custom visual performance

Kvůli zajištění vysokého výkonu nezapomeňte všechny vlastní vizuály důkladně otestovat.Be sure to put each custom visual through its paces to ensure high performance. Špatně optimalizované vizuály Power BI můžou negativně ovlivnit výkon celé sestavy.Poorly optimized Power BI visuals can negatively affect the performance of the entire report.

Stránkované sestavy Power BIPower BI paginated reports

Návrhy stránkovaných sestav Power BI lze optimalizovat pomocí osvědčených postupů pro načítání dat sestavy.Power BI paginated report designs can be optimized by applying best practice design to the report's data retrieval. Další informace najdete v článku Pokyny pro načítání dat pro stránkované sestavy.For more information, see Data retrieval guidance for paginated reports.

Zajistěte také, aby byl ve vaší kapacitě přidělen dostatek paměti úloze stránkovaných sestav.Also, ensure your capacity has sufficient memory allocated to the paginated reports workload.

Optimalizace prostředíOptimizing the environment

Prostředí Power BI můžete optimalizovat nastavením kapacity, změnou velikosti bran dat a snížením latence sítě.You can optimize the Power BI environment by configuring capacity settings, sizing data gateways, and reducing network latency.

Nastavení kapacityCapacity settings

Při používání vyhrazených kapacit – dostupných u Power BI Premium (cenové úrovně P) nebo Power BI Embedded (cenové úrovně A, tedy A4–A6) – můžete spravovat nastavení kapacity.When using dedicated capacities—available with Power BI Premium (P SKUs), or Power BI Embedded (A SKUs, A4-A6)—you can manage capacity settings. Další informace najdete v tématu Správa kapacit Premium.For more information, see Managing Premium capacities. Pokyny k optimalizaci kapacity najdete v článku Optimalizace kapacit Premium.For guidance on how to optimize your capacity, see Optimizing Premium capacities.

Nastavení velikosti brányGateway sizing

Brána se vyžaduje vždy, když Power BI musí přistupovat k datům, která nejsou přístupná přímo přes internet.A gateway is required whenever Power BI must access data that isn't accessible directly over the Internet. Místní bránu dat můžete nainstalovat na místní server nebo na infrastrukturu jako službu (IaaS) hostovanou na virtuálním počítači.You can install the on-premises data gateway on a server on-premises, or VM-hosted Infrastructure-as-a-Service (IaaS).

Informace o úlohách brány a doporučení pro její velikost najdete v článku Nastavení velikosti místní brány dat.To understand gateway workloads and sizing recommendations, see On-premises data gateway sizing.

Latence sítěNetwork latency

Latence sítě může ovlivňovat výkon sestavy, protože prodlužuje dobu potřebnou k přenosu žádostí do služby Power BI a k doručování odpovědí.Network latency can impact report performance by increasing the time required for requests to reach the Power BI service, and for responses to be delivered. Tenanti v Power BI jsou přiřazeni k určité oblasti.Tenants in Power BI are assigned to a specific region.

Tip

Pokud chcete zjistit, kde se váš tenant nachází, přečtěte si článek Kde se nachází můj tenant Power BI?To determine where your tenant is located, see Where is my Power BI tenant located?

Když uživatelé z některého tenanta používají službu Power BI, směrují se jejich žádosti vždy do této oblasti.When users from a tenant access the Power BI service, their requests always route to this region. Když žádosti dorazí do služby Power BI, může tato služba následně odeslat další žádosti (například podkladovému zdroji dat nebo bráně dat), které jsou také ovlivněné latencí sítě.As requests reach the Power BI service, the service may then send additional requests—for example, to the underlying data source, or a data gateway—which are also subject to network latency.

Latenci sítě mezi klientem a oblastí Azure můžete zjistit pomocí různých nástrojů, mezi které patří Azure Speed Test.Tools such as Azure Speed Test provide an indication of network latency between the client and the Azure region. Vliv latence sítě minimalizujete tím, že se budete snažit udržovat zdroje dat, brány a cluster Power BI co nejblíže u sebe.In general, to minimize the impact of network latency, strive to keep data sources, gateways, and your Power BI cluster as close as possible. Ideálně by se měly nacházet ve stejné oblasti.Preferably, they reside within the same region. Pokud latence sítě představuje problém, zkuste přesunout brány a zdroje dat blíže ke clusteru Power BI jejich umístěním na virtuální počítače hostované v cloudu.If network latency is an issue, try locating gateways and data sources closer to your Power BI cluster by placing them inside cloud-hosted virtual machines.

Monitorování výkonuMonitoring performance

Monitorováním výkonu můžete zjistit problémová místa.You can monitor performance to identify bottlenecks. Na pomalé dotazy nebo vizuály v sestavě byste se měli zaměřit a neustále je optimalizovat.Slow queries—or report visuals—should be a focal point of continued optimization. Monitorování lze provádět v době návrhu v Power BI Desktopu, nebo na produkčních úlohách v kapacitách Power BI Premium.Monitoring can be done at design time in Power BI Desktop, or on production workloads in Power BI Premium capacities. Další informace najdete v článku Monitorování výkonu sestav v Power BI.For more information, see Monitoring report performance in Power BI.

Další krokyNext steps

Další informace k tomuto článku najdete v následujících tématech:For more information about this article, check out the following resources: