蕾米洛伊
各位翼龙面板腐竹们,你们是否经常听到【一部分】客户抱怨:
面板服性能不高啊!
怎么服务器卡卡的啊!
CPU真的太垃圾了!

但是自己的CPU明明性能很强啊!你可能在想:

应该是你服务端的问题吧?
要不然就是客户太多事了

其实不然!
真正的问题,可能是翼龙 CPU 限制导致的!

在分配CPU资源时,你可能注意到了,在CPU限制的旁边是有一个 % 百分比 的。
问题就从这里出现。
这个百分比是什么意思呢?它不是【服务端CPU占用占整体服务器CPU资源的比例】,而是一个【权重值】。
权重,意味着这个百分比是基于当前容器总CPU使用总量分配的,而不是一个固定的值

这个值所指代的是容器(服务端)所能使用的 CPU 调度周期时间比例。

这是啥意思呢?
比如说,你的服务器一共有三个核心,给某个服务器分配一个核心,100%;给另一个服务器分配两个核心,200%。
那么现在,CPU调度周期被分配为1:2,当两个容器同时占用自身的100%CPU资源时,一个占用1核/3核,一个占用2核/3核
这个是理想情况。

但是,当服务器CPU核心不变,又运行了一个服务器,这个服务器被分配了 300% CPU。
我们理解这种情况下就是这个服务器可以使用三个“核心”。
但在真实情况下,docker 是怎么处理的呢?
现在的比例就是1:2:3。那么当三个容器同时占用自身的100%CPU资源,一个将使用0.5个真实CPU核心,一个将使用1个CPU核心,一个使用1.5个CPU核心。

所以真实情况就是它们都得不到应有的真实核心数量,本来是1核的服务器,分配到0.5核心,应该快要卡爆了;那个本来是两核的服务器分配到1.0个也会觉得这CPU很垃圾;本来是三核分配到1.5个的稍微好点,但还是觉得这根本和标示的CPU性能不同。

所以,如果你正在开翼龙面板服务器,那么请理解客户抱怨关于性能的问题。
我推荐使用 docker 提供的真实的、限制容器(服务器)占用物理核心数量的参数 --cpuset,可以固定某个容器只能使用对应的CPU核心资源。
另外,你也可以考虑不要限制CPU资源(XD

苏子佩
学到了……

第一页 上一页 下一页 最后一页