Azure Functions 的缩放由Scale Controller确定:
Scale Controller 仅在云中运行,因此无法在本地测试缩放。该控制器的内部工作原理也未公开。
测试扩展的最佳方法是在云中实际进行概念验证并确保配置 Application Insights。对函数应用进行负载测试后,您可以执行如下所示的 Log Analytics 查询,以查看是否已预配函数应用的多个实例:
requests |
project timestamp, id, operation_Id, operation_Name, duration, cloud_RoleName, cloud_RoleInstance |
where cloud_RoleName =~ 'FUNCTION_APP_NAME' |
order by timestamp desc |
take 100
cloud_RoleInstance 属性具有已供应资源的 ID。当该列包含多个值时,您就知道发生了缩放。
老实说,测试 Azure Functions 是否自动缩放不应该是你的主要关注点,因为它是 Azure 的责任。您可能需要自动缩放来处理小型和大型工作负载,并且您可能有完成处理的时间限制。如果这是您真正关心的问题,那么您最好测量端到端的性能/时间。