我想测量示例数量增加时的响应时间,以找到优化配置的方法。
我准备了一个创建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_)
1条答案
按热度按时间2skhul331#
若要在不连接到外部服务的情况下在Azure Functions应用程序中引入明显的冷启动时间,您可以增加函数的复杂性,例如通过引入耗时的计算。下面是一个使用Azure函数Python的Python示例