「最大 Cpu」為 100% 正常嗎?

「最大 Cpu」為 100% 正常嗎?

以下是來自我們的 Azure「應用程式服務計畫」的兩張圖片,該計畫託管我們的應用程式。我們最近嘗試擴大規模,但它並沒有解決下面看到的問題。

我們的「最大 CPU」每天都會達到高峰…但這是最大聚合。這些是瞬態尖峰。同時,我們的 cpu 百分比的 AVG 聚合是正常的(第二張照片)。

是否預計會出現最大 cpu 瞬時峰值,如第一張圖片所示,或者這是異常情況?

謝謝你!

最大CPU 最大CPU

平均CPU 平均CPU

答案1

這是聚合規則,而不是實際用法。收集指標時,它們(對於 CPU)有一個指標:當前 CPU 負載。如果每分鐘收集 6 次指標,則有 6 個數值。當顯示較大間隔時,通常不會顯示所有數據,而是進行聚合。 Fe 如果聚合時間間隔縮小到 10 分鐘,則該時間間隔內的所有資料都會折疊為一個數字。有不同的函數可以做到這一點:min、max、avg、median 等。

一種方法是求平均數(你的第二張圖表)。另一個是顯示該間隔(您的第一個字元)上找到的最大峰值。平均值聚合往往會隱藏峰值,最大值聚合往往會不合理地增加峰值使用。如果您有10 分鐘的聚合窗口,並且在此期間某個進程在0.1 秒內消耗了100%,並且這0.1 秒是收集指標的時刻,那麼您將有10 分鐘的100% CPU 使用率間隔(當“max”時)使用聚合)。

答案2

這在很大程度上取決於其上運行的應用程式。如果它正在執行 CPU 密集型工作,它可能會盡可能地提高 CPU 使用率。您應該從升級硬體中看到差異。它正在處理的任務會更快完成。

我對您嘗試運行的應用程式一無所知。因此不知道它是否是一個在這些峰值期間似乎正常運行的多線程應用程序,或者是否是一個在峰值期間似乎掛起的單線程應用程式?在第一種情況下我不會太麻煩。但在第二種情況下,我可能會考慮進一步升級 CPU,或者如果我可以存取應用程式的原始程式碼,請嘗試查看是否可以優化 CPU 密集型任務。

相關內容