Power BI için iyileştirme kılavuzuOptimization guide for Power BI

Bu makalede geliştiricilerin ve yöneticilerin iyileştirilmiş Power BI çözümleri oluşturmasına ve bunların bakımını yapmasına olanak tanıyan yönergeler sağlanır.This article provides guidance that enables developers and administrators to produce and maintain optimized Power BI solutions. Çözümünüzü farklı mimari katmanlarında iyileştirebilirsiniz.You can optimize your solution at different architectural layers. Katmanlar şunlardır:Layers include:

  • Veri kaynaklarıThe data source(s)
  • Veri modeliThe data model
  • Görselleştirmeler; diğer bir deyişle panolar, Power BI raporları ve Power BI sayfalandırılmış raporlarıVisualizations, including dashboards, Power BI reports, and Power BI paginated reports
  • Ortam; diğer bir deyişle kapasiteler, veri ağ geçitleri ve ağThe environment, including capacities, data gateways, and the network

Veri modelini iyileştirmeOptimizing the data model

Veri modeli görselleştirme deneyiminin tamamını destekler.The data model supports the entire visualization experience. Veri modelleri dışarıda veya içeride barındırılır ve Power BI’da bunlara veri kümeleri denir.Data models are either external-hosted or internal-hosted, and in Power BI they are referred to as datasets. Seçeneklerinizi anlamanız ve çözümünüze uygun veri kümesi türünü seçmeniz önemlidir.It's important to understand your options, and to choose the appropriate dataset type for your solution. Üç veri kümesi modu vardır: İçeri Aktarma, DirectQuery ve Bileşik.There are three dataset modes: Import, DirectQuery, and Composite. Daha fazla bilgi için bkz. Power BI hizmetinde veri kümeleri ve Power BI hizmetinde veri kümesi modları.For more information, see Datasets in the Power BI service, and Dataset modes in the Power BI service.

Belirli bir veri kümesi moduyla ilgili kılavuz için bkz:For specific dataset mode guidance, see:

Görselleştirmeleri iyileştirmeOptimizing visualizations

Power BI görselleştirmeleri panolar, Power BI raporları veya Power BI sayfalandırılmış raporları olabilir.Power BI visualizations can be dashboards, Power BI reports, or Power BI paginated reports. Her birinin farklı mimarileri olduğundan her birinin kendi kılavuzu vardır.Each has different architectures, and so each has their own guidance.

PanolarDashboards

Power BI’ın, canlı rapor kutucukları ve akış kutucukları hariç pano kutucuklarınız için bir önbellek tuttuğunu anlamanız önemlidir.It's important to understand that Power BI maintains a cache for your dashboard tiles—except live report tiles, and streaming tiles. Daha fazla bilgi için bkz. Power BI’da veri yenileme (Kutucuk yenileme).For more information, see Data refresh in Power BI (Tile refresh). Veri kümeniz dinamik satır düzeyi güvenliği (RLS) zorunlu tutuyorsa, kutucuklar kullanıcı başına önbelleğe alındığından bunun performans üzerindeki etkilerini anladığınızdan emin olun.If your dataset enforces dynamic row-level security (RLS), be sure to understand performance implications as tiles will cache on a per-user basis.

Canlı rapor kutucuklarını panoya sabitlediğinizde bunlar sorgu önbelleğinden kullanıma sunulmaz.When you pin live report tiles to a dashboard, they're not served from the query cache. Bunun yerine raporlarla aynı şekilde davranırlar ve arka uç çekirdeklerinde anında sorgular çalıştırırlar.Instead, they behave like reports, and make queries to back-end cores on the fly.

Adından da anlaşılacağı gibi, veri kaynağını kullanmak yerine verilerin önbellekten alınması daha iyi ve daha tutarlı performans sağlar.As the name suggests, retrieving the data from the cache provides better and more consistent performance than relying on the data source. Bu işlevin avantajından yararlanmanın bir yolu, panoları kullanıcılarınız için ilk giriş sayfası yapmaktır.One way to take advantage of this functionality is to have dashboards be the first landing page for your users. Sık kullanılan ve istenen görsel öğeleri panolara sabitleyin.Pin often-used and highly requested visuals to the dashboards. Bu sayede, panolar değerli bir "ilk savunma hattı" olur ve kapasite üzerinde daha az yük oluşturarak tutarlı performans sağlar.In this way, dashboards become a valuable "first line of defense", which delivers consistent performance with less load on the capacity. Kullanıcılar yine raporda tıklayıp gezinerek ayrıntıları analiz edebilir.Users can still click through to a report to analyze details.

DirectQuery ve canlı bağlantı veri kümeleri için, veri kaynağı sorgulanarak önbellek düzenli aralıklarla güncelleştirilir.For DirectQuery and live connection datasets, the cache is updated on a periodic basis by querying the data source. Varsayılan olarak bu saatte bir gerçekleşir ama veri kümesi ayarlarında farklı bir sıklık yapılandırabilirsiniz.By default, it happens every hour, though you can configure a different frequency in the dataset settings. Her önbellek güncelleştirmesi, önbelleği güncelleştirmek için temel veri kaynağına sorgu gönderir.Each cache update will send queries to the underlying data source to update the cache. Oluşturulan sorgu sayısı, panoya sabitlenen ve veri kaynağını kullanan görsel öğe sayısına bağlıdır.The number of queries that generate depends on the number of visuals pinned to dashboards that rely on the data source. Satır düzeyi güvenliğin etkin olması durumunda her farklı güvenlik bağlamı için sorgu oluşturulduğunu unutmayın.Notice that if row-level security is enabled, queries are generated for each different security context. Örneğin kullanıcılarınızı kategorilere ayırmak için iki farklı rol olduğunu ve verilerin iki farklı görünümü olduğunu düşünün.For example, consider there are two different roles that categorize your users, and they have two different views of the data. Sorgu önbelleğini yenileme işlemi sırasında Power BI iki sorgu kümesi oluşturur.During query cache refresh, Power BI generates two sets of queries.

Power BI raporlarıPower BI reports

Power BI rapor tasarımlarını iyileştirmeye yönelik çeşitli öneriler vardır.There are several recommendations for optimizing Power BI report designs.

Not

Raporlar bir DirectQuery veri kümesine dayandığında, ek rapor tasarımı iyileştirmeleri için bkz. Power BI Desktop’ta DirectQuery model kılavuzu (Rapor tasarımlarını iyileştirme).When reports are based on a DirectQuery dataset, for additional report design optimizations, see DirectQuery model guidance in Power BI Desktop (Optimize report designs).

En kısıtlayıcı filtreleri uygulamaApply the most restrictive filters

Bir görsel öğenin görüntülemesi gereken veri arttıkça yüklenme hızı düşer.The more data that a visual needs to display, the slower that visual is to load. Bu ilke açıkça anlaşılır olsa da sık sık unutulur.While this principle seems obvious, it's easy to forget. Örneğin, büyük bir veri kümeniz olduğunu varsayalım.For example: suppose you have a large dataset. Bu veri kümesinin üzerinde tablo içeren bir rapor oluşturuyorsunuz.Atop of that dataset, you build a report with a table. Çoğu birkaç düzine satırla ilgilenen son kullanıcılar, sayfadaki dilimleyicileri kullanarak istedikleri satırlara gidebiliyor.End users use slicers on the page to get to the rows they want—typically, they're only interested in a few dozen rows.

Sık yapılan bir hata, tablonun filtrelenmemiş varsayılan görünümünü (100 milyondan fazla satır) olduğu gibi bırakmaktır.A common mistake is to leave the default view of the table unfiltered—that is, all 100M+ rows. Her yenilemede bu satırlara ait veriler belleğe yüklenir ve sıkıştırması açılır.The data for these rows loads into memory and is uncompressed at every refresh. Bu işlem bellek için muazzam büyüklükte talepler oluşturur.This processing creates huge demands for memory. Çözüm: "İlk N" filtresini kullanarak tablonun görüntülediği öğe sayısı üst sınırını azaltın.The solution: use the "Top N" filter to reduce the max number of items that the table displays. Öğe sayısı üst sınırını kullanıcılar için gerekenden çok daha yüksek bir sayıya (örneğin 10.000) ayarlayabilirsiniz.You can set the max item to larger than what users would need, for example, 10,000. Sonuçta son kullanıcı deneyimi değişmez ama bellek kullanımı önemli ölçüde azalır.The result is the end-user experience doesn't change, but memory use drops greatly. En önemlisi de, performans gelişir.And most importantly, performance improves.

Raporunuzdaki tüm görsel öğeler için yukarıdakine benzer bir tasarım yaklaşımı önerilir.A similar design approach to the above is suggested for every visual in your report. Kendinize bir görsel öğedeki tüm verilerin gerekli olup olmadığını sorun.Ask yourself, is all the data in this visual needed? Son kullanıcı deneyimini çok az etkileyerek görselde gösterilen veri miktarını filtrelemenin yolları var mı?Are there ways to filter the amount of data shown in the visual with minimal impact to the end-user experience? Unutmayın, özellikle tablolar pahalıya gelebilir.Remember, tables in particular can be expensive.

Rapor sayfalarındaki görsel öğeleri sınırlamaLimit visuals on report pages

Yukarıdaki ilke, aynı şekilde rapor sayfasına eklenen görsel öğe sayısı için de geçerlidir.The above principle applies equally to the number of visuals added to a report page. Belirli bir rapor sayfasındaki görsel öğe sayısını yalnızca gerekli olanla kısıtlamanız kesinlikle önerilir.It's highly recommended you limit the number of visuals on a particular report page to only what is necessary. Detaylandırma sayfaları ve rapor sayfası araç ipuçları sayfayı tıka basa görselle doldurmadan ek ayrıntı sağlamanın harika yollarıdır.Drillthrough pages and report page tooltips are great ways to provide additional details without jamming more visuals onto the page.

Özel görsel öğe performansını değerlendirmeEvaluate custom visual performance

Her bir özel görsel öğeyi gerekli testlere tabi tutarak öğe performansının yüksek olduğundan emin olun.Be sure to put each custom visual through its paces to ensure high performance. Hatalı bir şekilde iyileştirilmiş Power BI görselleri, raporun tamamının performansını olumsuz yönde etkileyebilir.Poorly optimized Power BI visuals can negatively affect the performance of the entire report.

Power BI sayfalandırılmış raporlarPower BI paginated reports

Power BI sayfalandırılmış rapor tasarımları, raporun veri alma işlemine en iyi yöntem tasarımı uygulanarak iyileştirilebilir.Power BI paginated report designs can be optimized by applying best practice design to the report's data retrieval. Daha fazla bilgi için bkz. Sayfalandırılmış raporlar için veri alma kılavuzu.For more information, see Data retrieval guidance for paginated reports.

Ayrıca kapasitenizde sayfalandırılmış rapor iş yüküne ayrılmış yeterli bellek bulunduğundan emin olun.Also, ensure your capacity has sufficient memory allocated to the paginated reports workload.

Ortamı iyileştirmeOptimizing the environment

Kapasite ayarlarını yapılandırarak, veri ağ geçitlerini boyutlandırarak ve ağ gecikmesini azaltarak Power BI ortamını iyileştirebilirsiniz.You can optimize the Power BI environment by configuring capacity settings, sizing data gateways, and reducing network latency.

Kapasite ayarlarıCapacity settings

Power BI Premium (P SKU’ları) veya Power BI Embedded (A SKU’ları, A4-A6) ile sağlanan kapasiteleri kullanırken kapasite ayarlarını yönetebilirsiniz.When using capacities—available with Power BI Premium (P SKUs), or Power BI Embedded (A SKUs, A4-A6)—you can manage capacity settings. Daha fazla bilgi için bkz. Premium kapasiteleri yönetme.For more information, see Managing Premium capacities. Kapasitenizi nasıl iyileştireceğinize ilişkin yönergeler için bkz. Premium kapasiteleri iyileştirme.For guidance on how to optimize your capacity, see Optimizing Premium capacities.

Ağ geçidini boyutlandırmaGateway sizing

Power BI’ın doğrudan İnternet üzerinden erişilemeyen verilere erişmesi gereken her durumda ağ geçidi gereklidir.A gateway is required whenever Power BI must access data that isn't accessible directly over the Internet. Şirket içi veri ağ geçidini şirket içindeki sunucuya veya VM’de barındırılan Hizmet Olarak Altyapı’ya (IaaS) yükleyebilirsiniz.You can install the on-premises data gateway on a server on-premises, or VM-hosted Infrastructure-as-a-Service (IaaS).

Ağ geçidi iş yüklerini ve boyutlandırma önerilerini anlamak için bkz. Şirket içi veri ağ geçidini boyutlandırma.To understand gateway workloads and sizing recommendations, see On-premises data gateway sizing.

Ağ gecikmesiNetwork latency

Ağ gecikmesi, isteklerin Power BI hizmete ulaşması ve yanıtların teslim edilmesi için gereken süreyi artırarak rapor performansını etkileyebilir.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. Power BI'da kiracılar belirli bir bölgeye atanır.Tenants in Power BI are assigned to a specific region.

İpucu

Kiracınızın bulunduğu yeri belirlemek için bkz. Power BI kiracım nerede bulunur?To determine where your tenant is located, see Where is my Power BI tenant located?

Kiracıdaki kullanıcıların Power BI hizmetine erişirken gerçekleştirdiği istekler her zaman bu bölgeye yönlendirilir.When users from a tenant access the Power BI service, their requests always route to this region. İstekler Power BI hizmetine ulaştığında, hizmet yine ağ gecikmesine yol açabilecek ek istekler (örneğin, temel veri kaynağına veya veri ağ geçidine) gönderebilir.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.

Azure Hız Testi gibi araçlar, istemci ile Azure bölgesi arasındaki ağ gecikmesini gösterir.Tools such as Azure Speed Test provide an indication of network latency between the client and the Azure region. Genel olarak ağ gecikmesinin etkisini en aza indirmek için veri kaynaklarını, ağ geçitlerini ve Power BI kümenizi mümkün olduğunca yakın tutun.In general, to minimize the impact of network latency, strive to keep data sources, gateways, and your Power BI cluster as close as possible. Bunların aynı bölgede yer alması tercih edilir.Preferably, they reside within the same region. Ağ gecikmesi sorunu yaşıyorsanız, ağ geçitlerini ve veri kaynaklarını bulutta barındırılan sanal makinelere yerleştirerek Power BI kümenize yakınlaştırmayı deneyin.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.

Performansı izlemeMonitoring performance

Performans sorunlarını belirlemek için performansı izleyebilirsiniz.You can monitor performance to identify bottlenecks. Yavaş sorgular veya rapor görselleri, devam eden iyileştirme çalışmalarının odak noktası olmalıdır.Slow queries—or report visuals—should be a focal point of continued optimization. İzleme işlemi Power BI Desktop’ta tasarım zamanında veya Power BI Premium kapasitelerde üretim iş yükleri üzerinde yapılabilir.Monitoring can be done at design time in Power BI Desktop, or on production workloads in Power BI Premium capacities. Daha fazla bilgi için bkz. Power BI’da rapor performansını izleme.For more information, see Monitoring report performance in Power BI.

Sonraki adımlarNext steps

Bu makale hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:For more information about this article, check out the following resources: