aci*_*uck 11 azure azure-functions azure-batch azure-functions-runtime
我正在测试函数的CPU性能,所以我创建了一个函数,用于查找数字中的素数.它由Azure Service Bus触发.在我的本地机器上它运行350ms.
在消费计划中运行时,该功能大约需要1000毫秒.当我批量发送100条消息到函数时,它可以扩展到大约16个实例,但每个函数的性能大大降低到3000-7000ms之间.
在尝试使用4核的标准服务计划时,性能会更好,但不是那么多.它仍然比我的笔记本电脑慢得多.这家伙有类似的问题.
这是功能所期望的性能/扩展吗?Eq不适合批量处理CPU密集型方法?
Azure批次会更合适吗?
我不知道运行函数的硬件的确切规格,但您可以假设消耗计划的每个实例都是一个低调的单核虚拟机。如果您需要运行 CPU 密集型延迟关键型工作负载,那么这可能不是一个好的匹配。
您的本地计算机可能比这些实例更快,因此这就是 350 毫秒与 1000 毫秒差异的来源。
减少到 3000-7000ms 与同一实例上同时运行多个函数有关。它们正在争夺CPU,从而降低了彼此的速度。对于纯粹的 CPU 密集型工作负载,您最好"maxConcurrentCalls": 1将host.json.
| 归档时间: |
|
| 查看次数: |
2213 次 |
| 最近记录: |