Digital-Ocean

New Relic 報告 CPU 使用率為 280%,DigitalOcean 報告為 30%,為什麼?

  • September 24, 2020

我們有一個在 Digital Ocean 上執行的餐廳網路應用程序(laravel back+vue.js front, MySQL)的線上菜單。

該應用程序在高峰時段開始變得非常緩慢,因此我們正在調查可能是什麼原因。

我們需要解決的第一個謎團是了解問題是否出在我們的伺服器規格(即,需要更多 cpu/記憶體)或程式碼/配置中。這是一個謎,因為我們顯然有相互矛盾的資訊。New Relic 監視器在高峰時間報告 280% 的 CPU 使用率,但同時 Digital Ocean 報告只有 30% 的 CPU 使用率。

如何發現哪些資訊是正確的?我們還可以使用哪些其他工具來監控和發現瓶頸?

引用@HermanB 的回答:

Linux 負載不是一個真正的百分比。

在 Linux 中,具有多個 CPU 和核心的系統將通過添加每個 cpu/核心的負載來計算負載,每個核心上的負載可以超過 100%。

換句話說,在具有 8 個核心的系統上,負載可以達到 800%,然後才會認為系統過載。

例如,在該系統上,280% 的負載將是:

兩個 CPU 實際上以 100% 的使用率執行,

而其他一些程序在剩餘的 CPU 上執行,而對它們沒有任何壓力。

標準化(為了更容易地比較具有不同 CPU 數量的 Linux 系統)您會說系統以 280/800 = 35% 的容量執行。

引用自:https://serverfault.com/questions/1034894