Azure功能很慢

Azure功能很慢,azure,azure-functions,azure-batch,azure-functions-runtime,Azure,Azure Functions,Azure Batch,Azure Functions Runtime,我在测试函数的CPU性能,所以我做了一个函数,在一个数字中查找素数。它由Azure服务总线触发。 在我的本地机器上,它以350毫秒的速度运行 在消耗计划中运行时,该功能大约需要1000毫秒。 当我批量向函数发送100条消息时,它确实会扩展到大约16个实例,但每个函数的性能都会显著降低到3000-7000ms之间 尝试使用4核的标准服务计划时,性能会更好,但不会太多。它仍然比我的笔记本电脑慢很多。 这家伙有一只猫 这是预期功能的性能/扩展吗?E.q.不太适合CPU密集型方法的批处理 Azure b

我在测试函数的CPU性能,所以我做了一个函数,在一个数字中查找素数。它由Azure服务总线触发。 在我的本地机器上,它以350毫秒的速度运行

在消耗计划中运行时,该功能大约需要1000毫秒。 当我批量向函数发送100条消息时,它确实会扩展到大约16个实例,但每个函数的性能都会显著降低到3000-7000ms之间

尝试使用4核的标准服务计划时,性能会更好,但不会太多。它仍然比我的笔记本电脑慢很多。 这家伙有一只猫

这是预期功能的性能/扩展吗?E.q.不太适合CPU密集型方法的批处理


Azure batch是否更合适?

我不知道运行功能的硬件的确切规格,但您可以假设每个消费计划实例都是一个低调的单核VM。如果您需要运行CPU密集型延迟关键工作负载,那么这可能不是一个很好的匹配

您的本地计算机可能比这些实例更快,所以这就是350ms与1000ms的差异所在

减少到3000-7000ms与在同一实例上同时运行多个函数有关。他们在争夺CPU,彼此的速度都变慢了。对于纯CPU限制的工作负载,最好在
host.json
中设置
“maxConcurrentCalls”:1