In the case of VPS, the question does not make sense since the VPS takes all the resources of the host.
In the case of VMs running inside a VPS or deployed with custom buildout script on bare metal, there is no definitive answer.
Yet, a reasonable overcommitting limit for each VM is:
- max number of CPU core in the VM = number of CPU threads (1 core = 2 CPU threads) of the host
- max amounnt of RAM in the VM = total amount of RAM of the host.
It is then possible to adapt the memory and CPUs used by each VM depending on their needs. This is controlled by qemu's maxcpu and maxmem parameters.
A reasonable overcommitting ratio depends on the type of usage. A 400% overcommitting may be appropriate to maximize system load, at the expense of transient performance.