0

What determines memory speed of OpenVZ container?
I've run sysbench --test=memory --memory-block-size=1M --memory-total-size=1G run on several OpenVZ powered VPSs from different providers and observed memory bandwidth measured from 2920.06 MB/sec to 11980.72 MB/sec.
I've made several observations in different daytime. Rounded numbers below are in GB/s:

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

All VPSs are with 32bit OS, except VPS3. For reference I've benchmarked my old cheap laptop with DDR2 inside and got 4GB/s.
My guess is that memory bandwidth in container = practical memory bandwidth of hardware * available CPU share. Then assuming DDR3 on most nodes with, say, 12800MB/s throughput we can derive that VPS1 allows to use no more than ~28% of host CPU (3.6/12.8), VPS2 ~36%, etc. Am I right?

Vidmkc
  • 1
  • 2

1 Answers1

0

Looks like you almost right. Just run your test on my Virtuozzo container with 32 cores and 1 core. First run with 32 cores I get 10335.52 MiB/sec, second run with 1 core I get memory bandwidth 12130.58 MiB/sec. But tests with 1/10 core show result according your formula, so with limit on 10% cpu usage I have memory bandwidth only 1425.87 MiB/sec.

If you have more then one core, there could be problems with over-provisioning, when cloud provider sell more memory than it have on their hosts and it could cause problems with memory bandwidth.

Alexander Tolkachev
  • 4,513
  • 3
  • 14
  • 23