As for performance optimization, I think the direction is good, and perhaps
you could go even further if you have a load balancing device that can
distribute the traffic among the multiple VMs.
Not sure why reducing the memory should help. Also reducing the number of
virtual CPUs has probably little effect as well. The main point in reducing
the number of cores and disabling threads is to give modern CPUs more
thermal/power headroom to run the fewer CPUs at a higher clockspeed.
I doubt you get the same effect on vCPUs.
What helps is not the reducing of the resources, but reducing of the load. :-)

Please consider the following two cases:
- Full load to 1 "powerful" VM with 8 vCPUs and 8GB RAM
- 25% of the load to 1 "moderate" 1VM with 2 vCPUs and 2GB RAM

As OpenBSD does not benefit much from the 8 cores, the performance of the "powerful" VM and the "moderate" VMs is quite similar. But the load for each "moderate" VMs is only 25%.

Of course, my comparison is not completely fair, as the load balancing device also needs resources. But it can use e.g. Linux and FD.io VPP that has incredible performance due to using DPDK. So if you use one "moderate" VM for that purpose, its performance would be more than enough, whereas each of the other three "moderate" VMs will get about 33-34% of the full load.

Best regards,

Gábor

Reply via email to