繁体   English   中英

如何在 Azure 批量自动缩放公式中舍入

[英]How to round in Azure batch autoscale formula

当我提交我的公式时,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 分别向下和向上舍入)。 这确实令人难过,可能需要我查看上述等式以确保它按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM