Virtualization
OpenVZ 硬體節點上的系統負載 - 它可靠嗎?
我發現了令我驚訝的事情。在 OpenVZ 硬體節點上,負載很大,假設負載為 210(它有許多可用的 CPU 核心,但對於此伺服器而言,210 仍然很高)。但是硬體節點工作正常。根據
top
75% 的 CPU 處於空閒狀態,性能很好。但後來我意識到這個硬體節點上的許多容器之一的負載約為 200,當我在那個容器中時 (vzctl enter container_id
),我所做的一切都會有很大的滯後。所以,容器正在使用它分配的所有資源,這就是為什麼它內部在執行任何命令時都會出現延遲等。但是硬體節點很好,性能還可以,有可用記憶體,CPU 功率和磁碟使用率很低,根據
top
,iostat
以及類似的工具,我什至可以感覺到硬體節點沒有過載,一切正常。但負載約為 210。有人告訴我這是因為 OpenVZ 硬體節點正在匯總來自所有容器的負載,而不是報告它自己的負載。這是真的嗎?如果是,那為什麼?這是高度誤導的。如果不是,那麼為什麼硬體節點負載如此之高,但實際上並沒有超載?
OpenVZ 按設計工作,並配置為在其限制內包含高要求的容器,而不會影響同一盒子上的其他容器。
平均負載並不奇怪,因為主機會看到來自所有容器的所有程序並相應地計算 LA。由於 CPU 限制,必須有大約 200 個“受限制的”程序需要更長的時間才能完成。