Power BI 嵌入式分析中的容量计划
计算 Power BI 嵌入式分析部署所需的容量类型可能很复杂。 所需的容量取决于多个参数,其中一些参数难以预测。
计划容量时需要考虑的一些事项包括:
- 使用的数据模型。
- 必需查询的数量和复杂度。
- 应用程序使用情况的每小时分布。
- 数据刷新频率。
- 难以预测的其他使用模式。
注意
本文介绍如何计划所需的容量,以及如何对 Power BI 嵌入式分析 A-SKU 执行负载测试评估。
计划容量时,请执行以下步骤:
优化性能和资源消耗
在开始进行任何容量计划或负载测试评估之前,请优化报表和语义模型的性能和资源消耗(尤其是内存占用情况)。
要优化性能,请遵循以下资源中的准则:
有关优化性能的详细教程,请参阅在 Power BI 中优化模型性能培训模块。
确定最低 SKU
下表汇总了取决于容量大小的所有限制: 若要确定容量的最小 SKU,请查看“语义模型”标头下的“最大内存 (GB)”列。 此外,请记住当前的限制。
SKU | 容量单位 (CU) | Power BI SKU | Power BI v-core |
---|---|---|---|
F2 | 2 | 空值 | 空值 |
F4 | 4 | 空值 | 空值 |
F8 | 8 | EM1/A1 | 1 |
F16 | 16 | EM2/A2 | 2 |
F32 | 32 | EM3/A3 | 4 |
F64 | 64 | P1/A4 | 8 |
F128 | 128 | P2/A5 | 16 |
F256 | 256 | P3/A6 | 32 |
F5121 | 512 | P4/A7 | 64 |
F10241 | 1,024 | P5/A8 | 128 |
F20481 | 2,048 | 空值 | 空值 |
1 这些 SKU 并非在所有区域都可用。 若要请求在不可用的区域使用这些 SKU,请联系 Microsoft 客户经理。
评估容量负载
要测试或评估容量负载,请执行以下步骤:
在 Azure 中创建 Power BI Embedded 容量用于测试。 使用一个与 Microsoft Entra 租户(与 Power BI 租户相同)关联的订阅,并使用一个登录到同一租户的用户帐户。
为用于测试的一个或多个工作区分配你创建的 Premium 容量。 可以通过以下方式之一分配工作区:
- 使用组 AssignToCapacity API 以编程方式操作。 使用组 CapacityAssignmentStatus API 或通过 PowerShell 脚本检查分配状态。 有关示例代码,请参阅 GitHub 中的零故障时间容量规模示例中的
AssignWorkspacesToCapacity
函数。 - 以工作区管理员身份手动操作,或以容量管理员身份通过管理门户操作。有关详细信息,请参阅使用主用户为工作区分配容量。
- 使用组 AssignToCapacity API 以编程方式操作。 使用组 CapacityAssignmentStatus API 或通过 PowerShell 脚本检查分配状态。 有关示例代码,请参阅 GitHub 中的零故障时间容量规模示例中的
以容量管理员身份安装 Microsoft Fabric Capacity Metrics 应用。 提供容量 ID 和时间(以天为单位)进行监视,然后刷新数据。
使用 Power BI 容量负载评估工具评估容量需求。 此 GitHub 存储库还包含视频演练教程。 请谨慎使用此工具:使用多达几十个并发模拟用户进行测试,并推断更高的并发负载(数百或数千个并发负载,具体取决于需求)。有关详细信息,请参阅评估容量负载。 或者,使用其他负载测试工具,但将 iFrame 视为黑盒,并通过 JavaScript 代码模拟用户活动。
使用在步骤 3 中安装的 Microsoft Fabric Capacity Metrics 应用监视通过负载测试工具产生的容量利用率。 或者,可以通过使用 Azure Monitor 中的警报查看 Premium 指标来监视容量。
如果负载测试在容量上产生的实际 CPU 接近容量限制,请考虑为容量使用更大的 SKU。
设置自动缩放
可以使用以下自动缩放技术弹性调整 A-SKU 容量的大小,以满足当前内存和 CPU 需求。
使用容量更新 API 纵向扩展或纵向缩减容量 SKU。 若要了解如何使用 API 创建自己的脚本来进行纵向扩展和纵向缩减,请参阅 runbook PowerShell 脚本容量纵向扩展示例。
使用 Monitor 警报跟踪以下 Power BI Embedded 容量指标:
- 重载(如果容量的 CPU 已超过 100% 且处于重载状态,则为 1,否则为 0)
- CPU(CPU 使用率百分比)
- 每个工作负载的 CPU(如果使用特定工作负载 (如分页报表))
配置 Monitor 警报,确保当这些指标达到指定值时,触发脚本运行以纵向扩展或纵向缩减容量。
例如,可创建以下规则:如果重载 = 1 或 CPU = 95%,则调用纵向扩展容量 Runbook 以将容量更新到更高的 SKU。 还可创建以下规则:如果 CPU 低于 45% 或 50%,则调用纵向缩减容量 Runbook 脚本以将容量更新到较低的 SKU。
你还可以在刷新语义模型之前和之后,按需以编程方式调用纵向扩展 Runbook 和纵向缩减 Runbook。 此方法确保容量有足够的 RAM (GB) 用于使用该容量的大型语义模型。