使用 Azure Functions 持久任务计划程序的专用 SKU(预览版)

持久任务计划程序目前仅提供专用 SKU。 本文中,你将了解到:

  • 专用 SKU 提供的内容
  • 如何计费
  • 容量单位工作项等相关概念

专用 SKU 概念

根据购买的“容量单位(OU)数”计费。 在持久任务计划程序上下文中:

  • “容量单位(CU)”是分配给计划程序资源的资源度量单位。 每个 CU 表示预先分配的 CPU、内存和存储资源量。 单个 CU 保证调度多个 工作项 并提供定义的存储量。 如果需要额外的性能和/或存储,可以购买更多 CU。
  • 工作项 是由持久任务计划程序调度给应用程序的消息,触发业务流程协调程序、活动或实体函数的执行。 每秒可调度的工作项数取决于分配给计划程序的 CU 数。

下表说明了每个 CU 提供的最低成本和功能。

CU 数 特点
一个 CU - 具有专用资源的
单个租户 - 每秒
调度最多 2,000 个工作项 - 50 GB 的业务流程数据存储

定价

Azure Functions 定价页上查找给定区域中容量单位的价格。

速率限制

对于计划新业务流程,每个容量单位每秒请求数限制为 200 个,此限制适用于所有任务中心中的计划程序

如果超出速率限制,则返回 gRPC 状态代码 RESOURCE_EXHAUSTED 。 此代码类似于 HTTP 429 (Too many requests)

确定所需的容量单位数

注释

目前,持久任务计划程序仅支持购买一个容量单位

若要确定一个单元是否足以满足工作负荷,请执行以下步骤:

  1. 了解如何确定每个业务流程的工作项数

    • 启动一个业务流程会消耗一个工作项。
    • 每次计划一个活动运行都会消耗另一个工作项。
    • 每个发回持久任务计划程序的响应都会使用另一个工作项。
  2. 估算每月业务流程数
    计算每月需要运行的业务流程的总数。

  3. 计算每秒总工时项数
    将业务流程的数量乘以每个业务流程所消耗的工作项的数量。

  4. 转换为每秒工作项数
    将每月工作项总数除以每月的秒数(约 2,628,000 秒)。

  5. 确定所需的 CU 数
    如果一个 CU 允许每秒最多 2,000 个工作项,则按一个 CU 的容量将所需的工作项除以确定所需的 CU 数。

例如,如果每月运行 1 亿个业务流程,并且每个业务流程使用 7 个工作项,则每月需要 7 亿个工作项。 将这个数值除以 2,628,000,结果是每秒大约 266 个工作项。 如果一个 CU 每秒支持 2,000 个工作项,则需要一个 CU 来处理此工作负荷。

后续步骤

试用 Durable Functions 快速入门示例