監視並最佳化內部部署資料閘道效能

閘道性能監控 (公開預覽)

若要監控效能,閘道系統管理員傳統依靠 Windows 效能監視器工具手動監控效能計數器。 我們現在提供其他查詢記錄和閘道效能 PBI 範本檔以視覺化結果。 此功能可提供閘道使用方式的新解析。 您可以使用來疑難排解執行緩慢的查詢。

注意

此功能目前僅供標準模式中的內部部署資料閘道使用。 個人模式並不適用。

注意

閘道診斷不會擷取與 (虛擬) 機器及其網路直接相關的診斷,如頻寬或延遲。 但是,這些診斷可能會影響您的閘道效能。 您可以使用資源監控工具來監控您的電腦。

效能記錄

預設情況下,此功能目前處於開啟狀態。

注意

  • 目前,此記錄中有時會遺失從 Premium 容量到閘道的查詢。 我們正積極地修正此問題。
  • 目前,Power BI 分頁報表查詢未使用此工具記錄。

設定效能記錄

您可以視需要更新設定檔內的其他值:

  • ReportFilePath:決定三個記錄檔儲存的路徑。 根據預設,此路徑是 \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report\Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report。 路徑會依作業系統版本而變動。 如果您使用閘道服務帳戶而非 PBIEgwService,請使用服務帳戶名稱取代路徑的這部分。
  • ReportFileCount:決定每種記錄檔要保留的數目。 預設值是 10。
  • ReportFileSizeInBytes:決定要保留的檔案大小。 預設值是 104,857,600。
  • QueryExecutionAggregationTimeInMinutes:決定查詢執行資訊彙總的分鐘數。 預設值是 5。
  • SystemCounterAggregationTimeInMinutes:決定系統計數器彙總的分鐘數。 預設值是 5。

在您變更完設定檔之後,請重新啟動閘道,這些設定值才能生效。 您現在會看到報表檔案生成在 ReportFilePath 指定的位置。

注意

在檔案開始顯示在資料夾中之前,可能需要在設定檔中 QueryExecutionAggregationTimeInMinutes 設定的時間加上最多 10 分鐘。

瞭解效能記錄

當您打開此功能,有三個新的記錄檔會被建立:

  • 查詢執行報表
  • 查詢開始報表
  • 查詢執行彙總報表
  • 系統計數器彙總報表

查詢執行報表包含詳細的查詢執行資訊。 擷取下列屬性。

屬性 描述
GatewayObjectId 閘道的唯一識別碼。
RequestId 閘道要求的唯一識別碼。 對多個查詢,這可能是相同的。
DataSource 包含資料來源類型和資料來源。
QueryTrackingId 查詢的唯一識別碼。 但當查詢失敗後再次重試,則有可能會重複。
QueryExecutionEndTimeUTC 查詢執行完成的時間。
QueryExecutionDuration (毫秒) 執行查詢的持續時間。
QueryType 查詢的類型。 例如,通過的查詢可能是 Power BI 重新整理或 DirectQuery。 或者,也可以是來自 Power Apps和 Power Automate 的查詢。
DataProcessingEndTimeUTC 資料處理活動 (例如,多工緩衝、資料擷取、壓縮和資料處理) 完成的時間。
DataProcessingDuration (毫秒) 資料處理活動 (例如,多工緩衝、資料擷取、壓縮和資料處理) 的持續時間。
成功 表示查詢是否成功或失敗。
ErrorMessage 如果查詢失敗,則表示錯誤訊息。
SpoolingDiskWritingDuration (毫秒) 表示閘道要將所有資料寫入磁碟的總時間
SpoolingDiskReadingDuration (毫秒) 表示閘道要從磁碟中讀取所有資料的總時間
SpoolingTotalDataSize (位元組) 寫入磁碟或從磁碟讀取的資料大小 (已壓縮)
DataReadingAndSerializationDuration (毫秒) 表示閘道從資料來源讀取資料,接著將資料序列化為資料封包的時間量。
DiskRead (位元組/秒) 表示閘道每秒所讀取的位元組數。 DiskRead(byte/sec) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite (位元組/秒) 表示閘道每秒所寫入的位元組數。 DiskWrite(byte/sec) = SpoolingTotalDataSize / SpoolingDiskWritingDuration

查詢開始報表包含查詢和查詢開始時間。 擷取下列屬性。

屬性 描述
GatewayObjectId 閘道的唯一識別碼。
RequestId 閘道要求的唯一識別碼。 對多個查詢,這可能是相同的。
DataSource 包含資料來源類型和資料來源。
QueryTrackingId 查詢的唯一識別碼。 但當查詢失敗後再次重試,則有可能會重複。
QueryExecutionStartTimeUTC 查詢執行開始的時間。
QueryType 查詢的類型。 例如,通過的查詢可能是 Power BI 重新整理或 DirectQuery。 或者,也可以是來自 Power Apps和 Power Automate 的查詢。
QueryText 完成 base64 編碼的查詢。

查詢執行彙整報表包含 GatewayObjectIdDataSource成功QueryType 一段時間間隔內查詢資訊的彙整。 預設值為 5 分鐘,但是您可以調整。 擷取下列屬性。

屬性 描述
GatewayObjectId 閘道的唯一識別碼。
AggregationStartTimeUTC 查詢屬性被彙總的時間範圍起點。
AggregationEndTimeUTC 查詢屬性被彙總的時間範圍終點。
DataSource 包含資料來源類型和資料來源。
成功 表示查詢是否成功或失敗。
AverageQueryExecutionDuration (毫秒) 彙總時間範圍內的平均查詢執行時間。
MaxQueryExecutionDuration (毫秒) 彙總時間範圍內的最大查詢執行時間。
MinQueryExecutionDuration (毫秒) 彙總時間範圍內的最小查詢執行時間。
QueryType 查詢的類型。 例如,通過的查詢可能是 Power BI 重新整理或 DirectQuery。 或者,也可以是來自 Power Apps和 Power Automate 的查詢。
AverageDataProcessingDuration (毫秒) 彙總時間範圍內的資料處理活動 (例如,多工緩衝、資料擷取、壓縮和資料處理) 的平均時間。
MaxDataProcessingDuration (毫秒) 彙總時間範圍內的資料處理活動 (例如,多工緩衝、資料擷取、壓縮和資料處理) 的最大時間。
MinDataProcessingDuration (毫秒) 彙總時間範圍內的資料處理活動 (例如,多工緩衝、資料擷取、壓縮和資料處理) 的最小時間。
計數 查詢數量。

系統計數器彙總報表包含一段時間間隔內系統計數器值的彙總。 預設值為 5 分鐘,但是您可以調整。 擷取下列屬性。

屬性 描述
GatewayObjectId 閘道的唯一識別碼。
AggregationStartTimeUTC 系統計數器被彙總的時間範圍起點。
AggregationEndTimeUTC 系統計數器被彙總的時間範圍終點。
CounterName 系統計數器,包括閘道、 Mashup Engine和裝載閘道的電腦整體的記憶體和 CPU 使用。
最大值 彙整時間範圍內系統計數器的最大值。
最小值 彙整時間範圍內系統計數器的最小值。
平均值 彙整時間範圍內系統計數器的平均值。

視覺化閘道效能

現在,您可以視覺化記錄檔中的資料。

  1. 下載 閘道效能 PBI 範本 ,並使用 Power BI Desktop 來打開。

  2. 在打開的對話方塊中,檢查資料夾路徑是否符合 ReportFilePath 中的值。

    快顯資料夾路徑。

  3. 選取 載入,範本檔案就會開始從記錄檔載入資料。 所有視覺效果都是使用報表中的資料填入。

  4. 您可以選擇性地儲存此檔案為 PBIX,並將它發佈至您的服務,以進行自動重新整理。 若要進一步瞭解,請參閱從 Power BI Desktop 發佈資料集與報表

您也可以自訂此範本檔以符合您的需求。 如需 Power BI 範本的詳細資訊,請參閱這篇 Microsoft Power BI 部落格文章

監視多工緩衝儲存空間

根據預設,閘道的多工緩衝儲存空間位於 C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler。 務必要監視此位置,確保該位置未執行完整工作。

執行緩慢的查詢

長時間執行的查詢可能需要對資料來源進行其他修改,或是對查詢進行最佳化。 這可以是對 Power BI 重新整理或直接資料庫查詢 (如 Power BI DirectQuery、Power Apps 或 Azure Logic Apps)。

閘道預設會執行基本記錄。 如果您正在調查執行緩慢的查詢,除了使用效能監控功能,您可以暫時啟用 其他記錄,收集其他記錄資訊。 若要執行此動作,請在 內部部署的資料閘道應用程式中,選取 診斷 > 其他記錄記錄

開啟其他記錄。

根據閘道使用量,啟用此設定可能會大幅增加記錄大小。 建議您在完成檢閱記錄之後,停用其他記錄。 我們不建議在正常閘道使用時啟用這項設定。

啟用此設定後,您可以在閘道記錄中看到指出此查詢所屬資料集或報表的其他資訊 (以下範例中的應用程式內容)。 請注意,目前並非所有服務都可以傳送此資訊,我們正在處理已知的差距。

QueryAdditionalInformation is: {
  "Application": "Dataset-Premium",
  "ObjectId": "6de5b524-8a04-4578-961d-e65b2bf3dcd4",
  "ApplicationContext": "{\"DatasetId\":\"6de5b524-8a04-4578-961d-ej67gdf3dcd4\",\"Sources\":[{\"ReportId\":\"e0cec7bc-f53d-4174-b551-678656fba\"}]}"
}.

透過串流資料最佳化效能

根據預設,內部部署的資料閘道會在將資料傳回資料集之前,先多工緩衝處理資料,這可能會導致資料載入和重新整理作業期間的效能降低。 預設行為可以覆寫。

  1. 在 C:\Program Files\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 檔案中,將 StreamBeforeRequestCompletes 設定設為 True,然後儲存。

    <setting name="StreamBeforeRequestCompletes" serializeAs="String">
       <value>True</value>
    </setting>
    
  2. 內部部署的資料閘道 > 服務設定 中,重新開啟閘道。

後續步驟

注意

是否能請您告知您偏好的慣用文件語言? 請填寫問卷。 (請注意,本問卷為英文版)

完成問卷大約需要七分鐘。 本問卷將不會收集個人資料 (隱私權聲明)。