在消耗计划上使用天蓝色函数进行了一些负载测试之后,我遇到了一个有趣的场景。现在我有一个功能应用程序,期望在api管理实例后面有一个http帖子。功能应用程序进行一些处理,并将响应返回给调用方。 API管理器暂时没有缓存,因为我们希望流程仅通过正文进行处理。
当我直接调用该函数时,该应用程序将适当缩放,并且从该函数应用程序中看到一些冷启动行为,但是平均响应时间低于本地请求的200毫秒,以确保持续负载。
当我通过api管理器调用函数并在实例上承受持续负载时,在负载测试的5分钟标记附近,我开始看到30-60秒的响应时间。
负载是每秒2个请求,并且完全异步,因此没有阻塞。此外,没有数据库调用,这仅仅是一个计算功能。
还有其他人看到过这种行为吗?
答案 0 :(得分:0)
似乎是设置或LB问题。您可以做的是减少host.json中的functionTimeout设置(例如20秒),然后在API Management上添加重试策略。
https://docs.microsoft.com/en-us/azure/api-management/api-management-advanced-policies#example-7