azure 如何在FaaS中编写更大的冷启动代码

mcdcgff0  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(127)

我想测量示例数量增加时的响应时间,以找到优化配置的方法。
我准备了一个创建5MB数据的活动函数,如下面的代码所示,但结果显示没有明显的冷启动。
你能给予我一个代码的例子,将有一个更大的冷启动时间?如果可能的话,最好是不连接到Azure Blob服务以外的任何服务。

import azure.functions as func
import azure.durable_functions as df
import numpy as np
import pandas as pd
import time

# Client functions are mostly irrelevant, so some are omitted.
app = df.DFApp(http_auth_level=func.AuthLevel.ANONYMOUS)
@app.route(route="orchestrators/client_function")
@app.durable_client_input(client_name="client")
async def client_function(req: func.HttpRequest, client: df.DurableOrchestrationClient) -> func.HttpResponse:
    instance_id = await client.start_new("orchestrator", None, {})
    await client.wait_for_completion_or_create_check_status_response(req, instance_id)
    status = await client.get_status(instance_id)
    return f"runtime: {status.runtime_status}\n\noutput:\n {output_str}" 

@app.orchestration_trigger(context_name="context")
def orchestrator(context: df.DurableOrchestrationContext) -> dict:
    start = time.perf_counter()
    activity_func = context.call_activity(f"activity{i}", size)
    return time.perf_counter() - start

@app.activity_trigger(input_name="size")
def activity1(size: int) -> int:
    data = np.random.rand(size) 
    df  =  pd.DataFrame(data) 
    df_ = df.to_dict()
    return len(df_)
2skhul33

2skhul331#

若要在不连接到外部服务的情况下在Azure Functions应用程序中引入明显的冷启动时间,您可以增加函数的复杂性,例如通过引入耗时的计算。下面是一个使用Azure函数Python的Python示例

相关问题