为了监视性能,网关管理员传统上依赖通过 Windows 性能监视器工具手动监视性能计数器。 现在我们另外提供查询日志记录和
网关性能 PBI 模板文件
来可视化结果。 此功能提供有关网关使用情况的新见解。 可以使用它来对低性能查询进行故障排除。
此功能当前仅可用于标准模式下的本地数据网关。 它在个人模式下不可用。
网关诊断不捕获与(虚拟)计算机及其网络直接相关的诊断,如带宽或延迟。 但是,这些诊断可能会影响网关性能。 可以使用资源监视工具来监视计算机。
现在,此功能在默认情况下已打开。
当前,此日志记录中有时会缺失从高级容量到网关的查询。 我们正在积极解决此问题。
当前,不使用此工具记录 Power BI 分页报表查询。
配置文件
C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
中还有其他一些值,可以根据需要进行更新:
ReportFilePath
:确定存储三个日志文件的路径。 默认情况下,此路径为 \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report 或 \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report。 路径取决于 OS 版本。 如果为 PBIEgwService 以外的网关使用服务帐户,请用服务帐户名称替换路径的这一部分。
ReportFileCount
:确定要保留的每种日志文件的数量。 默认值为 10。
ReportFileSizeInBytes
:确定要维护的文件的大小。 默认值为 104,857,600。
QueryExecutionAggregationTimeInMinutes
:确定聚合查询执行信息的分钟数。 默认值为 5。
SystemCounterAggregationTimeInMinutes
:确定聚合系统计数器的分钟数。 默认值为 5。
对配置文件进行更改后,请重启网关,以使这些配置值生效。 现在,可在为 ReportFilePath 指定的位置看到正在生成的报表文件。
最多可能需要 10 分钟加上在配置文件中为 QueryExecutionAggregationTimeInMinutes 设置的时间,文件会开始显示在文件夹中。
启用此功能时,会创建三个新的日志文件:
查询执行报表
查询开始报表
查询执行聚合报表
系统计数器聚合报表
查询执行报表包含详细的查询执行信息。 捕获以下属性。
QueryType
查询类型。 例如,传递的查询可能是 Power BI 刷新或 DirectQuery。 或者,它可能是来自 Power Apps 和 Power Automate 的查询。
DataProcessingEndTimeUTC
假脱机、数据检索、压缩和数据处理等数据处理活动完成的时间。
DataProcessingDuration
(毫秒)
假脱机、数据检索、压缩和数据处理等数据处理活动的持续时间。
Success
指示查询是成功还是失败。
如果查询失败,指示错误消息。
SpoolingDiskWritingDuration
(毫秒)
指示网关将所有数据写入磁盘的时间量
SpoolingDiskReadingDuration
(毫秒)
指示网关将所有数据读取到磁盘的时间量
SpoolingTotalDataSize
(字节)
从磁盘写入/读取的数据的大小(压缩)
DataReadingAndSerializationDuration
(毫秒)
指示网关从数据源读取数据并将其序列化为数据包所用的时间。
DiskRead
(字节/秒)
指示网关每秒读取的字节数。 DiskRead(byte/sec) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite
(字节/秒)
指示网关每秒写入的字节数。 DiskWrite(byte/sec) = SpoolingTotalDataSize / SpoolingDiskWritingDuration
QueryType
查询类型。 例如,传递的查询可能是 Power BI 刷新或 DirectQuery。 或者,它可能是来自 Power Apps 和 Power Automate 的查询。
QueryText
使用 Base64 编码的完整查询。
QueryType
查询类型。 例如,传递的查询可能是 Power BI 刷新或 DirectQuery。 或者,它可能是来自 Power Apps 和 Power Automate 的查询。
AverageDataProcessingDuration
(毫秒)
聚合时间窗口内假脱机、数据检索、压缩和数据处理等数据处理活动的平均时间。
MaxDataProcessingDuration
(毫秒)
聚合时间窗口内假脱机、数据检索、压缩和数据处理等数据处理活动的最长时间。
MinDataProcessingDuration
(毫秒)
聚合时间窗口内假脱机、数据检索、压缩和数据处理等数据处理活动的最短时间。
选择“加载”,模板文件将开始从日志文件加载数据。 所有视觉对象都将使用报表中的数据填充。
(可选)将此文件另存为 PBIX,然后发布到服务以自动刷新。 有关详细信息,请参阅
从 Power BI Desktop 发布数据集和报表
。
还可以根据需要自定义此模板文件。 有关 Power BI 模板的详细信息,请参阅此
Microsoft Power BI 博客文章
。
监视 spool 存储
默认情况下,网关的 spool 存储位于 C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler。 确保监视此位置以确保有足够的可用磁盘空间。 详细信息:
网关假脱机数据
长时间运行的查询可能需要对数据源进行其他修改或对查询本身进行进一步优化。 这可能包括 Power BI 刷新或直接数据库查询(如 Power BI DirectQuery、Power Apps 或 Azure 逻辑应用)。
默认情况下,网关执行基本日志记录。 如果正在调查较低性能查询,除了使用性能监视功能之外,还可以暂时启用“其他日志记录”来收集其他日志信息。 为此,请在
本地数据网关应用
中选择“诊断”>“其他日志记录”。
根据网关使用情况,启用此设置可能会显著增加日志大小。 建议在查看完日志后禁用其他日志记录。 不建议在网关正常使用期间将此设置保持为启用状态。
打开此设置时,可以在网关日志中查看指示此查询属于哪个数据集或报表的其他信息(在以下示例中为应用程序上下文)。 并非所有服务此时都能发送此信息,我们正在解决已知问题。
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\"}]}"
默认情况下,本地数据网关会在将数据返回到数据集之前对数据进行假脱机处理,这可能会导致数据加载和刷新操作期间的性能降低。 可以覆盖默认行为。
在 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>
在“本地数据网关”>“服务设置”中,重启网关。
故障排除工具