Azure 函数应用程序上的 API 之一需要更多时间
One of the APIs on Azure function app is taking more time
我已经编写了 8 个 GET API 以在单个页面中加载不同的下拉菜单。所有访问 Azure SQL 数据仓库的 API 都创下了 10 到 15 的记录数量,因为它们都是维度。但是在第一次加载时随机抽取 8 个 API,其中一个 API 需要 20 到 30 秒,而其他 API 则需要 2 到 3 秒。
下面是其中一个函数的代码片段。所有 API 都与下面相同。
import logging
import json
import azure.functions as func
from api.ProjectDetail.ProjectDetails import *
async def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Trigger function for list.')
BigCategory = req.params.get('BigCategory')
if req.method == "GET":
response, status_code = await ProjectList().get_List1()
return func.HttpResponse(body=response,status_code=status_code)
这里get_List1()只是使用PyODBC库连接到数据仓库。
我在函数应用程序设置中将 FUNCTIONS_WORKER_PROCESS_COUNT 设置为 10。
知道为什么会这样吗?
根据您的描述,应该属于正常现象。我们需要知道,尽管您已将 FUNCTIONS_WORKER_PROCESS_COUNT
设置为 10
或将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
设置为 10
,但函数应用程序可能无法扩展到 10 个 运行 个实例。这只是意味着函数应用程序最多可以扩展到 10 运行 个实例,但它不能确保函数应用程序在您请求 8 个 api 时扩展到 8 运行 个实例。这是另一个,可以帮助您了解横向扩展实例的机制。
由于函数没有显示任何错误信息,所以我认为它工作正常,这种情况是正常的。如果您希望快速执行 8 个 API,您可以为您的函数应用程序使用更高的定价层计划。
我已经编写了 8 个 GET API 以在单个页面中加载不同的下拉菜单。所有访问 Azure SQL 数据仓库的 API 都创下了 10 到 15 的记录数量,因为它们都是维度。但是在第一次加载时随机抽取 8 个 API,其中一个 API 需要 20 到 30 秒,而其他 API 则需要 2 到 3 秒。
下面是其中一个函数的代码片段。所有 API 都与下面相同。
import logging
import json
import azure.functions as func
from api.ProjectDetail.ProjectDetails import *
async def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Trigger function for list.')
BigCategory = req.params.get('BigCategory')
if req.method == "GET":
response, status_code = await ProjectList().get_List1()
return func.HttpResponse(body=response,status_code=status_code)
这里get_List1()只是使用PyODBC库连接到数据仓库。
我在函数应用程序设置中将 FUNCTIONS_WORKER_PROCESS_COUNT 设置为 10。
知道为什么会这样吗?
根据您的描述,应该属于正常现象。我们需要知道,尽管您已将 FUNCTIONS_WORKER_PROCESS_COUNT
设置为 10
或将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
设置为 10
,但函数应用程序可能无法扩展到 10 个 运行 个实例。这只是意味着函数应用程序最多可以扩展到 10 运行 个实例,但它不能确保函数应用程序在您请求 8 个 api 时扩展到 8 运行 个实例。这是另一个
由于函数没有显示任何错误信息,所以我认为它工作正常,这种情况是正常的。如果您希望快速执行 8 个 API,您可以为您的函数应用程序使用更高的定价层计划。