Dreamhost VPS – Thoughts on how they could be better

Written by James McDonald

August 26, 2011

Update Jan 2 2014:  I migrated away from Dreamhost to a VPS at Rackspace hosting. I have to admin the Rackspace VPS myself (meaning the Linux, Apache, MySQL & PHP environment is my problem to maintain) but the uptime and performance of the small 512 MB RAM VPS I have is fine for my needs.

Dreamhost offers a VPS (Virtual Private Server) solution that is supposed to give you dedicated resources of CPU and memory.

However I have found the service to have some fundamental flaws.

I am not totally sure of how the VServer host limits client resource usage, but from what I can gather, if the VPS guest consumes too much RAM then the host basically terminates some or all the processes in the VPS. So what happens to your website when this happens? Web browsers connecting to your sites get server 500 errors and / or the entire VPS reboots, so instead of getting a slow responding service they get no service at all.

If you look at my VPS’s 5 minute load average, the memory usage is well below the 400MB I have configure it to use. However the spikes in memory usage apparently cause the host VServer to terminate all processes in the context i.e. reboot your VPS.

canvas1

Dreamhost’s position is that the VPS is consuming large amounts of memory in between when the 5 minute load average was being taken, and that performing a list of steps to reduce resource usage and / or increase the configured RAM may stop the problem. I sometimes shell into my VPS and run free -m and see that it’s consuming 200 – 300MB over the course of many minutes so I am seriously starting to doubt the accuracy of their graphing in the Dreamhost Panel.

So I have observed that the VPS is consuming more resources than the graph is showing, but still the average I have observed is well below my total RAM.

free -m
             total       used       free     shared    buffers     cached
Mem:           400        266        133          0          0         59
-/+ buffers/cache:        207        192
Swap:            0          0          0

How could Dreamhost make it’s VPS environment better?
Make the VPS react like a normal computer. When physical RAM/CPU is saturated it just get’s slower, it doesn’t stop.

Another thing I noticed with my VPS is there seems to be no swap file. So even when it hits it’s memory limit it can’t degrade (become slower) by paging to disk. VServer as implemented at Dreamhost has a very inelegant way of managing resource usage.

Dreamhost is providing the VPS option as a way giving it’s customers guaranteed resources, but the way it’s configured means that in order to get an acceptable solution you would have to purchase a machine that requires many more MB of RAM to provide reliable service. Good for Dreamhost’s bottom line, but profoundly frustrating for someone such as me. They do provide a 3rd party auto RAM resizer, I haven’t used it as yet, but I have my doubts that it would be able to adjust the VPS RAM quick enough to allow for the microsecond RAM peaks that is causing the VPS to be terminated.

Of course Dreamhost being Dreamhost – All techie and the like, send a helpful email telling you how you can tune your VPS to stop these problems and I have started to disable the nice-to-have plug-ins on my WordPress install in an attempt to consume less resources. But for goodness sake when I can’t see the evidence with my own eyes (using top and free) that the problem is memory consumption, I am now thinking that their implementation of VServer is flawed.

On another note today my VPS sufferred an unplanned outage Apache failed due to a security patch that was roled out on mass:

Starting apache2-psXXXXX webserver...starting...apache2-psXXXXX-httpd: Syntax error on line 55 of /dh/apache2/apache2-psXXXXX/etc/httpd.conf: Cannot load /dh/apache2/template/lib/modules/mod_security2.so into server: /dh/apache2/template/lib/modules/mod_security2.so: cannot open shared object file: No such file or directory
failed.
sleeping...Starting apache2-psXXXXX webserver...starting...apache2-psXXXXX-httpd: Syntax error on line 55 of /dh/apache2/apache2-psXXXXX/etc/httpd.conf: Cannot load /dh/apache2/template/lib/modules/mod_security2.so into server: /dh/apache2/template/lib/modules/mod_security2.so: cannot open shared object file: No such file or directory
failed.
sleeping...Starting apache2-psXXXXX webserver...starting...apache2-psXXXXX-httpd: Syntax error on line 55 of /dh/apache2/apache2-psXXXXX/etc/httpd.conf: Cannot load /dh/apache2/template/lib/modules/mod_security2

Given “The DreamHost New Years Resolution for 2010 is a renewed focus on performance and reliability.” and the fact that the outage was due to a failed security patch and it knocked out pretty much all the VPS’s perhaps they need to read the eight bullet point of their new years resolution.

I’m concerned that they aren’t making the required progress needed to fix the cultural issues that have caused them to have serious and prolonged outages.

Anyway perhaps Dreamhost can move to a different form of Virtualization, still in the open source arena (XEN, KVM, libvirtd) that provides a closer to real computer experience.

Comments from Dreamhost are appreciated if you read this.

13 Comments

  1. Ryan

    Have you had any luck mitigating this issue? I’m running into the exact same problem with very intermittent and fleeting memory spikes that allocate (read: pay for) much more memory than I need.

    Reply
  2. Ryan

    …that [force me to] allocate more memory than I need”

    Reply
  3. beachbum

    I also have been fighting this issue since June. 470mb ram and exact same graph. i just did the Debian 6 upgrade yesterday and things are settling down a little. I have a few super low traffic sites and running a cache with garbage collection monthly. It totally makes no sense.

    Reply
    • Chellie

      Same issues for me and I am using the third party resizer. Are you still with Dreamhost and have you found any type of solution?

      Reply
      • admin

        Hi Chellie,
        I ended up moving to a VPS from Rackspace. Requires that I admin the server (LAMP environment) but at least it just gets slower and not terminating constantly.

        Reply
  4. James

    I ended up moving to Rackspace self managed cloud server. About the same amount I’m paying for the VPS. But the cost is time in configuration of PALM.

    Seems to be more stable.

    Reply
  5. Rachel Nabors

    Having the same problems. I get form emails from them in reply. I have to repeat over and over again that yes, I’m using a caching plugin. I have the resources set to allow up to 1000MB now, which is ridiculous as I average no more than 400MB tops. But what else can I do to keep the site up? I feel like there’s got to be a root cause in here somewhere, but when I ask if they can look at the logs for me or help me keep an eye on what’s causing the spikes, I get a link to the SSH portion of the wiki. 🙁 What I wouldn’t give for a little hand holding and attention.

    Reply
  6. james

    Rachel, I believe they have a flawed product in their VPS offering. The VServer VPS they are running appears to not have reasonable elasticity i.e. the ability to absorb spikes by paging to disk and getting slower. Instead it just kills all the processes in your context (i.e. Reboot).

    I too got the form email proposing work-a-round’s and discovered that even implementing their fixes that my site (which only gets around ~300 unique visitors per day – albeit heavily indexed by Google and others) was still getting knocked on the head.

    As mentioned I ‘fixed’ my issue by moving to a Rackspace self-managed Cloud Server. But after doing the configuration of Apache+MySQL+suexec+php+mod_fcgid+mod_security2 I realise this option may be beyond the non-technical punter. And it’s a lot to maintain ongoing.

    Reply
    • Rachel Nabors

      Yes, I’m by no means a sys admin, so rolling my own server is out of the question. But if anyone else finds a solution, either with Dreamhost or with an alternative host, I’d love to hear it!

      Reply
  7. ohho

    Dreamhost VPS sucks. Even you run a 200MB average site and buy a 500MB plan, the whole VPS just get rebooted by a simple spike. I am leaving …

    Reply
    • admin

      I so have to agree with you. Flawed implementation. Hopefully with their support of Openstack they will start offering a VM based solution with soft limits. Even if you bump you limits I believe it should get slower not be killed.

      Reply
  8. AstroNerdBoy

    It stinks that DreamHost has been having this issue for so long now. Since I moved my moderate-sized anime blog from Blogger to my own domain with WordPress on DreamHost, I’ve discovered that DreamHost basically wants to blame me for the cached memory being used. My usual memory consumption is ~350MB with the occasional spike (for reasons a mystery to me). The first time, I did discover that JetPack plugin is a resource hog, so I throttled it and used P3 to test it and the few other plugins.

    However, during my free trial of VPS where the memory was set to 2300MB, the cache took it all in a few days. I forced it down to 1000MB, but I was not happy because I shouldn’t need that much memory (since they charge by the memory value set). I dropped it further despite their forced reboot of the VPS (I packed on pounds according to their automated e-mail >.<) because I'm not paying these bozos to just hose me like I do.

    I am looking for a new host. I don't know if Rackspace will be for me, but I'll check into it.

    Reply
    • James McDonald

      @AstroNerdBoy. I’m suprised that Dreamhost is still having these problems. It seems that their VPS offering is like a trampoline placed under the spinning blades of a helicopter.

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

You May Also Like…

How to Research a CPU Upgrade

How to Research a CPU Upgrade

Upgrade Time! Doing a lot of VMWare Workstation virtualization to create labs for self-study and training. Finding...