如何在 Azure 批处理自动缩放公式中舍入
本文关键字:缩放 舍入 Azure 批处理 | 更新日期: 2023-09-27 18:31:00
当我提交公式时,Azure 会抱怨计算错误。我将其缩小到具有小数位的数字。这是我的公式:
pivot = (0.15*($CurrentDedicated/20)+0.84);
target = $CurrentDedicated*(($CPUPercent.GetSample(TimeInterval_Minute*5)/100)/pivot);
自然,它抱怨没有样本,所以我在三元表达式中输入了$CPUPercent.GetSamplePercent(TimeInterval_Minute*0,TimeInterval_Minute*5)
,但它抱怨"评估错误"。我认为发生这种情况是因为我正在尝试配置一小部分专用计算机。
所以。。。我怎样才能在这样的表达式中上下舍入?
上级:
所以我发现了我的问题,$CPUPercent.GetSample
不应该用作数字。相反,应该在其上使用 max()、min() 或 avg() 来生成一个数字。更正后的公式如下:
samplepercent = $CPUPercent.GetSamplePercent(TimeInterval_Minute*0,TimeInterval_Minute*5);
pivot = (0.15*($CurrentDedicated/20)+0.84);
$TargetDedicated = samplepercent < 0.7 ? 1 : $CurrentDedicated*((avg($CPUPercent.GetSample(TimeInterval_Minute*5))/100)/pivot);
可悲的是,没有办法向上或向下舍入。自动缩放表达式没有函数,也没有定义%
运算符(x = x - x%1 和 x = x - x%1 + 1 分别向下舍入和向上舍入)。这确实令人难过,可能需要我查看上述等式以确保它按预期工作。
检查这个线程,他们有一些例子 https://social.msdn.microsoft.com/Forums/azure/en-US/21161846-6b6b-4e34-85fc-333663414714/autoscaleformula-improvements-needed?forum=azurebatch