OpenVZ 容器中的内存带宽

OpenVZ 容器中的内存带宽

什么决定了 OpenVZ 容器的内存速度?我在不同提供商的多个 OpenVZ 驱动的 VPS 上
运行过,观察到的内存带宽从 2920.06 MB/秒到 11980.72 MB/秒不等。 我在不同的白天做了几次观察。下面的四舍五入数字以 GB/秒为单位:sysbench --test=memory --memory-block-size=1M --memory-total-size=1G run

VPS1 |  2.9 -  3.6
VPS2 |  3.9 -  4.6
VPS3 |  7.0 -  7.4
VPS4 | 11.9 - 12.0

除了 VPS3,所有 VPS 都使用 32 位操作系统。作为参考,我对装有 DDR2 的旧廉价笔记本电脑进行了基准测试,结果为 4GB/s。
我猜容器中的内存带宽 = 硬件的实际内存带宽 * 可用的 CPU 份额。然后假设大多数节点上的 DDR3 吞吐量为 12800MB/s,我们可以得出 VPS1 允许使用的主机 CPU 不超过 ~28%(3.6/12.8),VPS2 不超过 ~36%,等等。我说得对吗?

答案1

看起来你几乎是对的。只需在我的 32 核和 1 核的 Virtuozzo 容器上运行你的测试。第一次运行 32 核,我得到10335.52 MiB/sec,第二次运行 1 核,我得到 内存带宽12130.58 MiB/sec。但 1/10 核的测试结果符合你的公式,因此在 10% CPU 使用率限制下,我只有内存带宽1425.87 MiB/sec

如果您拥有多个核心,则当云提供商出售的内存多于其主机上的内存时,可能会出现过度配置的问题,并且可能会导致内存带宽问题。

相关内容