Azure 免费订阅上消费托管函数的性能
Performance of Consumption-hosted Functions on Azure free subscriptions
我正在使用 Azure 免费试用订阅评估 Azure Functions。
除了 performance/scalability.
之外一切正常
我开发了简单的 http 触发函数(C# Class 库),它只休眠 5 秒。
直接执行一次,5s就可以了,完全符合预期。
但是当并行调用 500 次时 - 执行时间会增加到 20-30 秒。
函数 "hosted" 在消耗计划上,所以我预计一旦需要,它就会在单独的 VM "automatically" 上执行。
我检查了 ARR Cookies(这可能使我的请求停留在一个虚拟机上)——不,不
饼干。
一切看起来都很好,至少对于这种简单的情况(没有明显的瓶颈要检查 - 没有数据库,没有通信等)。
所以,问题是 - 是因为免费试用订阅,还是我遗漏了什么?
免费试用订阅的 Azure Functions 没有区别。你不会因此而放慢速度。
正如@mathewc 所指出的,这是由于 HTTP 横向扩展有一些延迟,我们正在努力改进。您可以在此处看到一些可以控制的旋钮:https://github.com/Azure/azure-webjobs-sdk-script/wiki/Http-Functions#throttling
如果启用节流,将导致 429 秒,但有助于防止执行时间增加。
我正在使用 Azure 免费试用订阅评估 Azure Functions。 除了 performance/scalability.
之外一切正常我开发了简单的 http 触发函数(C# Class 库),它只休眠 5 秒。 直接执行一次,5s就可以了,完全符合预期。 但是当并行调用 500 次时 - 执行时间会增加到 20-30 秒。
函数 "hosted" 在消耗计划上,所以我预计一旦需要,它就会在单独的 VM "automatically" 上执行。 我检查了 ARR Cookies(这可能使我的请求停留在一个虚拟机上)——不,不 饼干。 一切看起来都很好,至少对于这种简单的情况(没有明显的瓶颈要检查 - 没有数据库,没有通信等)。
所以,问题是 - 是因为免费试用订阅,还是我遗漏了什么?
免费试用订阅的 Azure Functions 没有区别。你不会因此而放慢速度。
正如@mathewc 所指出的,这是由于 HTTP 横向扩展有一些延迟,我们正在努力改进。您可以在此处看到一些可以控制的旋钮:https://github.com/Azure/azure-webjobs-sdk-script/wiki/Http-Functions#throttling
如果启用节流,将导致 429 秒,但有助于防止执行时间增加。