Yavaş Power BI Raporu Nasıl Hızlandırılır? Performans Analizörü Rehberi
Power BI Performans Analizörü ile yavaş görseli bulun: kayıt alma, DAX query ve Visual display sürelerini okuma, sorgu kopyalama ve düzeltme sırası.
Yavaş rapor neden yavaş? Önce ölç
Kullanıcı "rapor yavaş" dediğinde sorun birkaç yerden biri olabilir: Görselin istediği DAX sorgusu uzun sürüyordur, kaynak veritabanı geç cevap veriyordur ya da görselin ekrana çizilmesi pahalıdır. Hangisi olduğunu bilmeden yapılan her iyileştirme tahmindir; ölçü basitleştirirsiniz ama gecikme aslında bir haritadaki yüzlerce noktanın çiziminden geliyordur.
Performans Analizörü (Performance Analyzer), Microsoft'un belgesine göre, her görselin yüklenme süresini ve bu sürenin hangi kategoriye gittiğini gösteren bölmedir. Power BI Desktop'ta rapor görünümünde ya da hizmette rapor düzenlenirken kullanılabilir. Etkileşimle tetiklenen yeniden yüklemeleri de kaydeder; örneğin bir dilimleyiciyi değiştirmek dilimleyicinin değişmesini, modele sorgu gitmesini ve görsellerin yeniden çizilmesini tetikler ve hepsi ayrı ayrı görünür.
Böylece "hangi görsel suçlu ve zamanı nerede harcıyor" sorusu tahminden sayıya iner. Bu sayfa, kayıt almaktan süre kategorilerini yorumlamaya ve düzeltme önceliği belirlemeye kadar akışı anlatır.
Kayıt almak: adım adım
Belgedeki akış şöyledir. Power BI Desktop'ta Optimize şeridindeki Performance Analyzer seçilir ve rapor kanvasının sağında bölme açılır. Web'de ise raporu Edit ile düzenleme moduna alıp View menüsünden Performance Analyzer seçersiniz.
Kayıt alırken önerilen düzen: • Raporu açın ve yavaş bulunan sayfaya gelin. Önceden önbellekte kalmış sonuçlar ölçümü bozmasın diye ilk ölçümü temiz bir durumdan alın. • Start recording düğmesine basın; düğme pasifleşir, Stop etkinleşir. • Kullanıcıların şikâyet ettiği etkileşimi birebir yapın: sayfayı açmak, bir dilimleyicide seçim değiştirmek, çapraz filtre için bir görsele tıklamak. • Bölme, her etkileşim için bir başlık ve altında görsel satırları oluşturur. • Stop ile kaydı durdurun; veri bölmede kalır.
Sayfadaki tüm görsellerin süresini yeniden toplamak için refresh visuals kullanılır. Tek bir görseli tekrar ölçmek için kayıt sırasında görselin sağ üst köşesindeki analyze this visual seçilir. Clear, bölmedeki tüm bilgiyi siler ve kaydedilmez. Bilgiyi saklamak için export düğmesi bölmenin içeriğini JSON dosyası olarak dışa aktarır; iyileştirme öncesi ve sonrası karşılaştırması için işe yarar.
Süre kategorilerini okumak
Her görsel satırı, süresini belge bakımından birkaç kategoriye böler. Hangi kategorinin büyük olduğu, hangi tedaviyi uygulayacağınızı belirler.
DAX query: Görselin sorguyu gönderdiği an ile anlam modelinin sonucu döndürdüğü an arasındaki süre. Büyükse suçlu ölçü, model ya da ilişkilerdir. Belge, DAX sorgu performansının hesaplamaların karmaşıklığından, dahil olan tablo sayısından ve aralarındaki ilişkilerden etkilendiğini söyler.
Direct query: Tablonun depolama modu DirectQuery ise dış sorgunun sonuç dönme süresi. Büyükse sorun Power BI'da değil kaynak veritabanındadır; indeks, kaynak sorgusu ya da ağ gecikmesi araştırılır.
Visual display: Görselin ekrana çizilme süresi; web görseli ya da coğrafi kodlama gerekiyorsa o süre dahil. Büyükse görselde çok fazla veri noktası, ağır özel görsel ya da harita katmanı vardır.
Other: Görselin sorgu hazırlama, diğer görsellerin bitmesini bekleme ve arka plan işleri için harcadığı süre. Büyükse sayfada çok sayıda görsel birbirini bekliyordur.
Evaluated parameters (önizleme): Görseldeki alan parametrelerinin değerlendirilme süresi.
Önemli bir uyarı: Belgeye göre süreler, bir işlemin başlangıç ve bitiş zaman damgasının farkıdır; kanvas ve görsel işlemlerinin çoğu tek bir kullanıcı arayüzü iş parçacığında sırayla çalıştığı için bildirilen süreler, diğer işlemleri beklerken kuyrukta geçen zamanı da içerir. Bu yüzden tek bir görseli şüpheli ilan etmeden önce o görseli tek başına yeniden ölçün.
DAX sorgusunu kopyalayıp incelemek
Süresi uzun bir görseli bulunca asıl iş sorguyu incelemektir. Görsel satırında Copy query ile görselin DAX sorgusu panoya alınır. Desktop'ta Run in DAX query view seçeneği sorguyu doğrudan DAX sorgu görünümünde çalıştırır; sonuç tablosunda görselin kullandığı veri, ayrıca sorgunun mantığı görünür. Bu seçenek hizmette yoktur, ama kopyalanan sorgu hizmette veri modelini açıp (open data model) web modellemede DAX sorgu görünümüne yapıştırılarak çalıştırılabilir. DirectQuery tablolarda kopyalanan sorgu, DAX sorgusunun yanında kaynağa giden SQL ya da KQL karşılığını da içerir.
Görselden gelen sorgu, aynı sonucu almak için gerekenden daha ayrıntılı ve yapılandırılmıştır; çünkü görseli bir türden diğerine çevirirken yeniden kullanılabilsin diye böyle üretilir. Belge, sorguyu sadeleştirmek için DAX sorgu görünümündeki Copilot'tan değişken ve TOPN yapılarını kaldırmasını istemeyi örnekler; Copilot'un hata yapabileceği de belgede belirtilmiştir.
Bir ölçü şüphesi varsa sorguyu çalıştırıp ölçüyü adım adım sadeleştirerek sürenin nereden düştüğünü görmek en sağlam yoldur: Ölçüyü değiştirin, sorguyu yeniden çalıştırın, farkı karşılaştırın.
Bulguya göre ne yapılır?
Aşağıdaki eşleştirme, kategorilerden iyileştirme önceliğine geçiş için pratik bir rehberdir.
DAX query büyükse: • En pahalı ölçüyü kopyalanan sorguda tek başına çalıştırın. • İç içe CALCULATE ve FILTER ile tüm tabloyu dolaşan ölçüleri sadeleştirin; Boolean filtre yazılabiliyorsa FILTER yerine onu kullanın. • Aynı alt ifadeyi birden çok kez hesaplıyorsanız değişkenle (VAR) bir kez hesaplayın. • Gereksiz çift yönlü ilişkileri ve yüksek benzersizlikli sütunları gözden geçirin; model boyutunu sütun sayısını azaltarak küçültün.
Visual display büyükse: • Bir görselde gösterilen kategori sayısını azaltın; bütün ayrıntı yerine ilk N ve "diğerleri" kalıbını düşünün. • Ağır özel görselleri yerleşik görsellerle değiştirmeyi deneyin.
Other büyükse: • Sayfadaki görsel sayısını azaltın, ayrıntıyı ayrıntıya gitme (drill-through) sayfalarına taşıyın.
Direct query büyükse: • Soruna kaynak tarafında bakın; gerekirse veriyi içe aktarmak ya da artımlı yenilemeyle birlikte içe aktarmak seçeneğini düşünün.
Her değişiklikten sonra aynı etkileşimi yeniden kaydedip JSON dışa aktarımlarını karşılaştırın; yalnızca bir şeyi değiştirmek hangi düzeltmenin işe yaradığını anlamanızı sağlar.
Sık hatalar
Birincisi, yalnızca toplam süreye bakıp kategoriyi okumamak. Aynı toplam süre, DAX sorgusundan da çizimden de gelebilir ve tedavileri farklıdır.
İkincisi, tek ölçümle karar vermek. Önbellek, kuyruk ve ağ koşulları ölçümleri oynatır; sorunlu etkileşimi birkaç kez kaydedip tutarlı olanı esas alın.
Üçüncüsü, yanlış etkileşimi ölçmek. Kullanıcı bir dilimleyici seçimiyle yavaşlık yaşıyorsa sayfa açılışını ölçmenin faydası yoktur; şikâyetin tarif ettiği adımı aynen tekrar edin.
Dördüncüsü, performansı yalnızca Desktop'ta denemek. Desktop'ta hızlı olan rapor, hizmette eşzamanlı çok sayıda kullanıcıyla ya da bir ağ geçidiyle farklı davranabilir; belge aracın hizmette de çalıştığını belirttiğinden, düzenleme modunda orada da ölçün.
Beşincisi, ölçüyü hızlandırmak için doğruluğu feda etmek. Sadeleştirdiğiniz ölçünün değerlerinin eski ölçüyle aynı olduğunu, özellikle toplam satırlarında, mutlaka doğrulayın.
Bu beceriyi Mindset programlarında nerede çalışırsınız?
Rapor performansı, raporu kendi ekibi dışına dağıtan BI geliştiricisinin ve veri modelleyicisinin işidir; yavaş açılan yönetim panolarıyla uğraşan kurumsal analitik ekipleri için doğrudan uygulanabilir.
Power BI İleri Düzey ve DAX programının modül başlıkları arasında "Performans Optimizasyonu" yer alır; bir önceki modüller (CALCULATE ve filtre bağlamı, sıralama ve karmaşık analizler) yavaş ölçülerin nedenini anlamanın zeminidir. Model tarafında ise Power BI Veri Modelleme programındaki "İleri Model Mimarisi ve Ölçeklendirme" başlığı, sütun ve ilişki kararlarının performansa etkisiyle örtüşür.
İlgili Mindset programı
Power BI İleri Düzey ve DAX
Sık sorulan sorular
Performans Analizörü'nde hangi süreye bakmalıyım?
Önce toplam süresi en uzun görseli bulun, sonra bu sürenin hangi kategoride yoğunlaştığına bakın. DAX query büyükse ölçü ve model, Visual display büyükse görselin çizimi, Direct query büyükse kaynak sorgusu, Other büyükse sayfadaki görsel kalabalığı incelenir. Kategoriyi okumadan düzeltme yapmak tahmine dönüşür.
Raporun DAX sorgusunu nasıl görürüm?
Kayıt sonrası görsel satırındaki Copy query seçeneğiyle sorguyu kopyalarsınız. Desktop'ta Run in DAX query view bunu doğrudan çalıştırır. Hizmette bu seçenek yoktur; modeli web modellemede açıp DAX sorgu görünümüne yapıştırabilirsiniz. DirectQuery tablolarda kaynağa giden SQL ya da KQL de görünür.
Kayıtları saklayabilir miyim?
Evet. Bölmedeki export düğmesi kayıttaki bilgileri JSON dosyasına aktarır. Clear ise bölmeyi temizler ve hiçbir şey kaydedilmez. İyileştirme öncesi ve sonrası aynı etkileşimi kaydedip iki dosyayı karşılaştırmak, hangi değişikliğin işe yaradığını ortaya koyar.
Performans Analizörü hizmette de çalışır mı?
Evet. Belgeye göre bölme hem Power BI Desktop'ta hem de web'de rapor düzenlenirken kullanılabilir. Hizmette raporu Edit ile düzenleme moduna alıp View menüsünden açarsınız. Hizmetteki ölçüm, eşzamanlı kullanım ve ağ geçidi gibi canlı koşulların etkisini görmek açısından değerlidir.
İlgili rehberler
İlgili eğitimler
Kategori: Veri Analitiği ve İş Zekası