Darkrok wrote on Mar 30
th, 2016 at 9:52am:
When we transitioned we bought a physical server to run the VM's that we thought would be plenty. It had enough VPU's to create the same number of servers we had with the original company so we figured we'd be fine. So we slowly moved one VM at a time from the original company to our own servers. As everything went better and better though we got cocky and started moving 2 or 3 VM's a night.
You can guess what happened. While there were plenty of VPU's the VM's share the CPU resources. Just because there's 8 VPU's on each server doesn't mean that all 8 can be maxed out on every single VM at the same time and not cripple the system. We solved our problem very simply - we added more physical servers and migrated some VM's to those. What had started as a plan for one physical server to serve 11 VM's morphed into 4 physical servers to serve up to 13.
I'll admit that I have never played with production grade full fledged VMs ( well beyond a custom tailored, heavy clusterized, telecom grade thing called TSP ...), I've installed lots of ESXI ( and the VMS that needs to be put on them, but it wasn't hard watching the script doing it ), and most of my playing around with Virtualization has been with Sun Solaris 10 Zones ( they are not realy VMs, they share the Kernel with the hosting Solaris 10 ).
But knowing how computers are made and how they work it's obvious it can happens once you add virtualization.
And it's probably one of the most common mistake people ( read beancounters ) do when they tell people to go Virtualized.
IOs ( specifically memory and disks ) have a limited bandwidth... that bandwidth is not and cannot be virtualized.
On Sparc Servers once they stopped frying processors trying to catch up with X86 frequencies ( which is pointless with a RISC system ), they went to heavy core/thread... So a single UltraSparc T1 processor carries 8 Cores each with 16 Threads... So for a Windows comparison : that's 256 Processors on one chip.
You can do a lot of things with that many processors ( especially when you have single processed, single threaded applications ), but the IO ( read : Disk and Memory ) is shared between all the (virtual) processors... and IO hasn't much evolved in throughput compared to the previous generation - in SPARC case : Ultra 320 15KRPM SCSI disks or SAS 15KRPM disks for mass storage, and DDR3 for Memory -
On our personnal computer we can have SSD drives, but most of the time they are just too expensive for server applications.
( and in most case use they are a waste of money )
Anyway, it's wine time for me ( if it wasn't obvious ) and I need to get all those free quivers done before they shutdown the anniversary.