计算 Power BI 嵌入式分析部署所需的容量类型可能很复杂。 所需的容量取决于多个参数,其中一些参数难以预测。
规划容量时要考虑的一些事项包括:
- 正在使用的数据模型。
- 所需查询的数量和复杂性。
- 应用程序使用情况的每小时分布。
- 数据刷新率。
- 难以预测的其他使用模式。
注释
本文介绍如何规划所需的容量以及如何对 Power BI 嵌入式分析 A SKU 执行负载测试评估。
规划容量时,请执行以下步骤:
优化性能和资源消耗
在开始任何容量规划或负载测试评估之前,请优化报表和语义模型的性能和资源消耗(尤其是内存占用)。
若要优化性能,请遵循以下资源中的准则:
有关优化性能的详细教程,请参阅 Power BI 训练模块 中针对性能优化模型 。
确定最小的库存单位(SKU)
下表汇总了依赖于容量大小的所有限制。 此外,请记住 当前的限制。
SKU1 | 容量单位(CU) | Power BI SKU | Power BI 虚拟核心 |
---|---|---|---|
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 |
F5122 | 512 | P4/A7 | 64 |
F10242 | 1,024 | P5/A8 | 128 |
F20482 | 2,048 | 无 | 无 |
1 在组织的 Microsoft 365 或 嵌入 (用户拥有数据)方案中,小于 F64 的 SKU 需要 Pro 或 Premium Per User (PPU) 许可证,或 Power BI 个人试用版才能使用 Power BI 内容。
2 这些 SKU 在所有区域中都不可用。 如需在不可用的区域使用这些 SKU,请联系您的微软帐户经理。
评估容量负载
测试或评估能力负载:
在 Azure 中创建用于测试的高级 Power BI Embedded 容量。 使用与 Power BI 租户相同的Microsoft Entra 租户和登录到同一租户的用户帐户关联的订阅。
分配您将用于测试所创建的高级容量的工作区(或多个工作区)。 可通过以下方式之一分配工作区:
-
以编程方式使用Groups AssignToCapacity API。 使用 Groups CapacityAssignmentStatus API 或通过 PowerShell 脚本检查分配状态。 有关示例代码,请参阅
AssignWorkspacesToCapacity
GitHub 上零停机时间Capacity-Scale 示例中的函数。 - 手动 作为工作区管理员或通过管理员门户作为容量管理员。有关详细信息,请参阅 用主用户将工作区分配到容量。
-
以编程方式使用Groups AssignToCapacity API。 使用 Groups CapacityAssignmentStatus API 或通过 PowerShell 脚本检查分配状态。 有关示例代码,请参阅
作为容量管理员, 请安装 Microsoft Fabric 容量指标应用。 提供容量 ID 和时间(以天为单位),以便监视,然后刷新数据。
使用 Power BI 容量负载评估工具 评估容量需求。 此 GitHub 存储库还包括 视频演练。 仔细使用此工具:使用多达几十个并发模拟用户进行测试,并推断出更高的并发负载(数百或数千个,具体取决于你的需求)。有关详细信息,请参阅 评估容量负载。 或者,使用其他负载测试工具,但将 iFrame 视为黑匣子,并通过 JavaScript 代码模拟用户活动。
使用在步骤 3 中安装的 Microsoft Fabric 容量指标 应用监视通过负载测试工具产生的容量利用率。 或者,可以通过在 Azure Monitor 中使用警报来检查高级指标来监视容量。
如果负载测试过程中,容量实际使用的 CPU 接近容量限制,请考虑使用更大的 SKU。
设置自动缩放
可以使用以下自动缩放技术弹性调整 A SKU 容量的大小以满足其当前内存和 CPU 需求。
使用 容量更新 API 来纵向扩展或缩减容量 SKU。 若要了解如何使用 API 创建用于纵向扩展和缩减的脚本,请参阅 Runbook PowerShell 脚本容量纵向扩展示例。
使用 监视器警报 跟踪以下 Power BI Embedded 容量指标:
- 超载(如果资源的 CPU 使用率已超过 100% 并处于超载状态,则为 1,否则为 0)
- CPU(CPU 使用率百分比)
- 当使用特定负载类型(如分页报表)时,每个工作负荷的 CPU 使用情况
配置监视器警报,以便在这些指标达到指定值时触发脚本运行,以纵向扩展或缩减容量。
例如,可以创建一个规则,该规则调用纵向扩展容量 Runbook,以便在重载为 1 或 CPU 值为 95% 时将容量更新为更高的 SKU。 还可以创建一个规则,该规则调用缩减容量 Runbook 脚本,以在 CPU 值低于 45 或 50% 的情况下将容量更新为较低的 SKU。
还可以在刷新语义模型之前和之后按需通过编程方式调用扩展和缩减任务手册。 此方法可确保您的容量具有足够的 RAM(GB),以支持使用该容量的大型语义模型。