VPS Hosting & Performance

In my professional capacity I have a client who is hosting a site on a VPS. The site is basically structured as a large blog / forum and it receives many (in the millions) page views each day. The database is approximately 200MB. I originally had the site hosted ona 256MB VMWare VI3 VPS. Needless to say it thrashed the virtual memory because there was not enough RAM. RAM on a VMWare VPS (or any VPS) in Australia is expensive, so I shifted it off site and trebled the RAM: 768MB with Linode. The site has continued to run into problems with the load scaling way above what it should given that there is so much CPU and Memory free: The load consistenly reaches up to 2. It’s a quad core server so in theory anything up to 4 is “fine”, but if every site this size put this level of hardware up to that load then I think server prodivders would be making a lot more money than they do!

After working on some home-server projects and re-analysing the performance metrics I have of the server / site, I’ve come to the conclusion that the server is I/O bound on the database site. MyTop shows lots of sleeping processes: They can’t be waiting on CPU because the CPU is 80% idle, and the memory has 200M free. The I/O is operating at about 6MB/s read and 2MB/s write. That’s seriously low for even a consumer SATA drive. I really expected better from such a large Linode plan. It seems I’m not the only person to have had this problem on Linode.

I have (again in the professional sense) some sites on a server through Slicehost and I’ve not run into I/O problems. That said, I don’t have any sites on the Slicehost servers of this magnitude. I’m wondering if it will be just as bad. If it is, then I/O may become a deterrent for me to use VPS. I wonder how many other people have had to make the shift from virtual to dedicated because of I/O bottlenecks? I’m hoping not, judging by my own internal tests and what some other people are saying.

While I’m on the topic of Slicehost, I have to say, I’m REALLY impressed with their customer service. I’ve only had a couple of problems since I’ve been dealing with them (a couple of years now) and they have always gone way beyond what I would consider their duty of care in order to help me. Compare that the Linode (about a year of service): Linode are helpful, but they don’t give any support out of the ordinary. If you’re asking questions about something they don’t officially support, then they don’t try to help. Slicehost does :D

Leave a Reply