Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
在内部基准测试中,Durable Task Scheduler 处理工作项的速度比 Azure 存储 提供程序快约五倍,这也是 Durable Functions 应用最常用的后端。
操作是由计划程序处理的任何离散操作,例如启动业务流程、计划活动或处理计时器。 有关完整定义和计费详细信息,请参阅 什么是操作?
基准结果
Durable Task Scheduler 针对其他存储提供程序(包括 Azure 存储、MSSQL 和 Netherite 提供程序)进行了基准测试。 结果显示持久任务计划程序比其他选项提供更好的操作吞吐量,这意味着在给定时间段内,可以处理更多的业务流程协调器、实体和活动任务。
Durable 任务调度程序与 Azure 存储 提供程序在不同工作角色数量下,每秒处理的工作项数的对比如下图所示。 选择Azure 存储提供程序作为比较,因为它是Durable Functions应用的默认和最常用的后端。
下表汇总了基准中的数值吞吐量值:
| 配置 | Azure 存储 (工作项/秒) | 持久任务调度程序 (工作项/秒) | 加速 |
|---|---|---|---|
| EP2、1 个工人 | ~250 | ~1,400 | ~5.6x |
| EP2, 2 个工作者 | ~430 | ~2,750 | ~6.4x |
| EP2, 4 个工作人员 | ~830 | ~3,750 | ~4.5倍 |
注意
这些结果来自内部基准,旨在提供相对性能的粗略比较。 结果将因工作负荷特征而异。
基准方法
为了测试后端提供程序的相对吞吐量,这些基准测试是使用标准业务流程协调程序函数运行的,该函数按顺序调用五个活动函数,每个城市对应一个。 每个活动仅返回“Hello, {cityName}!”字符串值,而不执行任何其他工作。
基准测试的目的是测量每个后端的开销,而不会执行任何太过复杂的事情。 之所以选择这种类型的顺序编排,是因为它在包含 Durable Functions 的函数应用程序中很常见。
测试详细信息
测试包含以下条件:
- 用于此项测试的函数应用在一到四个弹性高级 EP2 实例上运行。
- 该编排代码使用 C# 编写,基于 .NET 8 的 .NET 独立工作者模型。
- 所有存储提供程序使用相同的应用,唯一的差别在于后端存储提供程序配置。
- 测试由 HTTP 触发器触发,该触发器可以同时启动 5,000 个业务流程。
测试完成后,通过将已完成的业务流程总数除以总执行时间来计算吞吐量。 对每个存储提供程序配置多次运行测试,以确保结果一致。
影响结果的因素
结果可能因以下情况而异:
- 业务流程和活动的复杂性
- 并发运行的业务流程数
- 在业务流程与活动之间传递的数据有效负载大小
- 虚拟机规格和 SKU
- 计算与计划程序之间的网络延迟
注意
这些基准由Microsoft在内部运行,不能用作独立测试工具。 它们旨在让你在选择存储后端时大致了解相对性能。