Power BI 最佳化指南

本文提供指引,可讓開發人員和系統管理員產生和維護優化的Power BI解決方案。 您可以在不同的架構層級優化您的解決方案。 層次包括:

  • 資料來源(s)
  • 資料模型
  • 視覺效果,包括儀錶板、Power BI 報表和 Power BI 編頁報表
  • 環境,包括容量、數據閘道和網路

優化數據模型

數據模型支援整個視覺效果體驗。 數據模型會裝載於Power BI生態系統或外部(使用 DirectQuery 或 Live 連線 ion),而 Power BI 中則稱為語意模型先前稱為數據集。 請務必瞭解您的選項,併為您的解決方案選擇適當的語意模型類型。 有三種語意模型模式:Import、DirectQuery 和 Composite。 如需詳細資訊,請參閱 Power BI 服務 中的語意模型,以及 Power BI 服務 中的語意模型模式。

如需特定語意模型模式指引,請參閱:

優化視覺效果

Power BI 視覺效果可以是儀錶板、Power BI 報表或 Power BI 編頁報表。 每個都有不同的架構,因此每個架構都有自己的指引。

儀表板​​

請務必瞭解 Power BI 會維護儀錶板磚的快取,但實時報表磚和串流磚除外。 如果您的語意模型強制執行動態 數據列層級安全性 (RLS),請務必瞭解效能影響,因為磚會以每個用戶為基礎快取。

當您將實時報表磚釘選到儀錶板時,它們不會從查詢快取提供。 相反地,它們的行為就像報表,並即時對 v 核心進行查詢。

如名稱所示,從快取擷取數據比依賴數據源更好且更一致的效能。 利用這項功能的其中一種方式是讓儀錶板成為使用者的第一個登陸頁面。 將常用且高度要求的視覺效果釘選到儀錶板。 如此一來,儀錶板會成為寶貴的「第一道防線」,其可提供一致的效能,並降低容量負載。 使用者仍然可以按下報表來分析詳細數據。

針對 DirectQuery 和即時連線語意模型,快取會定期更新,方法是查詢數據源。 根據預設,它會每小時發生一次,不過您可以在語意模型設定中設定不同的頻率。 每個快取更新都會將查詢傳送至基礎數據源,以更新快取。 產生的查詢數目取決於釘選到依賴數據源之儀錶板的視覺效果數目。 請注意,如果啟用數據列層級安全性,則會針對每個不同的安全性內容產生查詢。 例如,假設有兩個不同的角色可分類您的使用者,而且他們有兩個不同的數據檢視。 在查詢快取重新整理期間,Power BI 會產生兩組查詢。

Power BI 報表

有數個優化Power BI報表設計的建議。

注意

當報表以 DirectQuery 語意模型為基礎時,如需其他報表設計優化,請參閱 Power BI Desktop 中的 DirectQuery 模型指引(優化報表設計)。

套用限制最嚴格的篩選

視覺效果需要顯示的數據越多,視覺效果載入的速度就越慢。 雖然這一原則似乎很明顯,但很容易忘記。 例如:假設您有大型語意模型。 根據該語意模型,您可以使用數據表來建置報表。 終端使用者使用頁面上的交叉分析篩選器來取得所需的數據列,通常只會對幾十個數據列感興趣。

常見的錯誤是讓數據表的預設檢視保持未篩選,也就是所有 100M+ 個數據列。 這些數據列的數據會載入記憶體中,而且會在每次重新整理時取消壓縮。 此處理會產生大量記憶體需求。 解決方案:使用 「Top N」 篩選條件來減少資料表顯示的最大項目數目。 您可以將最大項目設定為大於使用者所需的專案,例如10,000。 結果是用戶體驗不會變更,但記憶體使用量會大幅下降。 最重要的是,效能會改善。

針對報表中的每個視覺效果,建議使用上述類似的設計方法。 問自己,此視覺效果中的所有數據都需要嗎? 有辦法篩選視覺效果中顯示的數據量,對用戶體驗的影響最小嗎? 請記住,數據表尤其可能很昂貴。

限制報表頁面上的視覺效果

上述原則同樣適用於新增至報表頁面的視覺效果數目。 強烈建議您只將特定報表頁面上的視覺效果數目限制為必要專案。 鑽研頁面報表頁面工具提示 是提供其他詳細數據的絕佳方式,而不會將更多視覺效果干擾到頁面上。

評估自定義視覺效果效能

請務必讓每個自定義視覺效果透過其步調,以確保高效能。 效能不佳的Power BI視覺效果可能會對整個報表的效能造成負面影響。

Power BI 編頁報告

將最佳做法設計套用至報表的數據擷取,即可優化Power BI編頁報表設計。 如需詳細資訊,請參閱 編頁報表的數據擷取指引。

此外,請確定您的容量有足夠的記憶體配置給 編頁報表工作負載

優化環境

您可以藉由設定容量設定、調整數據閘道的大小,以及降低網路等待時間,將 Power BI 環境優化。

容量設定

使用容量時,您可以使用Power BI 進階版 (P SKU)、進階版 每位使用者 (PPU) 授權或 Power BI Embedded (A SKU,A4-A6),來管理容量設定。 如需詳細資訊,請參閱管理 進階版 容量

閘道大小調整

每當 Power BI 必須存取無法透過因特網直接存取的數據時,就需要閘道。 您可以在 內部部署伺服器或 VM 裝載的基礎結構即服務 (IaaS) 上安裝內部部署資料閘道

若要瞭解閘道工作負載和重設大小建議,請參閱 內部部署數據閘道大小調整

網路延遲

網路等待時間會增加要求到達 Power BI 服務 所需的時間,以及傳遞回應,進而影響報告效能。 Power BI 中的租使用者會指派給特定區域。

提示

若要判斷您的租用戶位於何處,請參閱 Power BI 租用戶位於何處?

當租使用者中的使用者存取 Power BI 服務 時,其要求一律會路由傳送至此區域。 當要求到達 Power BI 服務 時,服務接著可能會傳送其他要求,例如,傳送至基礎數據源或數據網關,這也受限於網路等待時間。

Azure 速度測試之類的工具提供用戶端與 Azure 區域之間的網路等待時間指示。 一般而言,若要將網路等待時間的影響降到最低,請盡量讓數據源、網關和 Power BI 容量保持接近。 最好是它們位於相同的區域內。 如果網路等待時間是個問題,請嘗試將閘道和數據源放在雲端裝載的虛擬機內,以更接近您的Power BI容量。

監視效能

您可以監視效能以找出瓶頸。 慢速查詢或報表視覺效果應該是持續優化的重點。 您可以在Power BI Desktop的設計時間,或在Power BI 進階版容量的生產工作負載上完成監視。 如需詳細資訊,請參閱 在Power BI中監視報表效能。

如需本文的詳細資訊,請參閱下列資源: