我不知道如何完全停止专用或高级计划上的天蓝色功能冷启动。我有一个 ML 函数返回输入数据的预测。我尝试过的:
WEBSITE_HEALTHCHECK_MAXPINGFAILURES
和 WEBSITE_HEALTHCHECK_MAXUNHEALTHYWORKERPERCENT
FUNCTIONS_WORKER_PROCESS_COUNT
和 PYTHON_THREADPOOL_THREAD_COUNT
我在函数应用程序脚本中添加了一个UUID,以便每个Python Worker都有一个我可以跟踪的UUID。我正在使用 EP3 计划和 4 个 python 工作线程 (FUNCTIONS_WORKER_PROCESS_COUNT=4),我可以看到只有 2 个工作线程在横向扩展时才调用预热函数。这意味着在 2 个不热的工作线程上,前几个调用需要 5-10 秒才能运行,这是冷启动。
我还尝试设置 FUNCTIONS_WORKER_PROCESS_COUNT=1,使用 async 进行函数调用,然后将线程计数设置为 4。但是,这对于利用 vCPU 功率似乎没有按预期工作,因此扩展效果不佳。
我还能做什么来完全防止具有多个 python 工作线程的 Python azure 函数中的冷启动?我注意到有一些共享内存预览功能,但不确定这是否可以解决问题,或者是否可以使用其他功能。