我创建了一个天蓝色的持久函数,它调用了大约8个活动函数。这些活动功能创建约100个线程,这些线程启动http请求。我收到的数据必须进行转换。此过程需要一定的计算能力。例如:所有功能在本地需要大约3分钟,直到完成。
现在,我想将Azure的功能与使用计划及其优势一起发布。我现在遇到的问题是,该功能需要10分钟以上的时间,超过了最大执行时间。
我不想使用应用程序服务。我正在寻找一种通过缩放控制器或某些行为增加内核数的方法,从而使缩放控制器提高性能。
如果可能,我不想更改我的代码体系结构。我考虑过将持久性功能拆分为较小的部分,并手动以http请求启动每个功能。但是由于这些函数之间是相互交互的,所以这似乎是对代码的巨大更改,而无需知道它是否使缩放控制器使用更多实例。
答案 0 :(得分:1)
在消费计划中,您将无法to control scale directly。也就是说,您至少可以控制在一个实例上执行多少个活动。如果you set maxConcurrentActivityFunctions的值大约为1,则即使它尚未扩展,也可以确保一次在一个实例上一次仅处理一个活动,因此不必与太多其他并发实例共享计算
总体扩展将由活动队列的长度决定。因此,最大可能地散布尽可能多的小型活动,而不是散布一些大型活动。但是希望使用上面链接的某些旋钮,至少应该能够将更多的CPU专用于正在执行的活动。