簡體   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