What kind of processor are you utilizing? You'd be surprised actually at how much stress a CPU can handle. For example, a traditional server utilizing an E3-1230v3 CPU with 32GB of memory is capable of housing upwards to 50 virtual machines before it becomes obvious that the system is under stress. It's a common misconception that people think when their server is slowing down that it has anything to do with the processor. Now, 4 years ago I could agree otherwise, however with later model processors this is not the case.
About 99% of the time when the server is under stress it is due to the fact that your services are actually eating up too much RAM. Traditional software when not optimized will utilize a lot of memory, for example MySQL without a properly optimized my.cnf will use 26GB of ram per 50 concurrent connections, depending on the software configuration. However, with tuning of the file, that same installation can utilize only 15GB of RAM per 500 concurrent connections.
This all comes down to the fact that a lot of people don't take the time to educate themselves on the software that they plan on using before actually jumping in head first. This is why, unless you have years of experience under your belt in managing a web server or at least the training to do so properly, I recomment utilizing either server management or just sticking with shared hosting. There is a lot of really powerful shared hosting platforms out there, you just need to know what to look for. Some things to avoid are hosts that use software like CloudLinux or BetterLinux, as they heavily restrict users and are focused on server density.
I know I've probably started to bore you, so I won't keep rambling on. I hope something I said above may be of help to you.