TL;DR DreamHost has a bunch of things they need to work out, from topography to name servers to limiting user resources. For a few extra dollars a month, MediaTemple is a much better host that seems to have figured things out the past couple of years.
I bought my first domain and hosting plan three years ago. It was for a senior capstone project at The University of Toledo. At the time I chose to host the site through MediaTemple, a well-known host with an elegantly modern management console in a sea of cPanel fugly control panels. At the time I thought this was the only thing that distinguished one host from another, aside from price.
Because this is just a hobby of mine I generally get a shared hosting plan. What this means is my site(s) are essentially on a virtual computer that is shared by who knows how many others. You don't have much control over the under the hood stuff. For hosting small blogs like this one, that's no big deal. At MediaTemple this is called Grid-Service.
MediaTemple had a rough year in 2009. By December I had lost connection to my database more times than I wanted to count. Compared to other hosts out there, (mt) was pricy and I started shopping around for an alternative. This is when I found DreamHost. DreamHost is a popular web host that is known for reliability and crazy sales. When I discovered them, they were running a sale that the first year of services was only $10. This is compared to the normal $10 a month DreamHost charges and $20 a month I was paying for (mt). So I left for greener pastures.
For the most part the first year was fine. I had all but stopped writing here, and wouldn't have really known if performance was bad. Last August, a year and half after switching, I started writing again. At first it was at SquareSpace, which doesn't use my host, but in January I returned to my self hosted WordPress install. Like any nerd running a website, I wanted my barebones site to load as fast as possible.
One of the things slowing my site down seemed to be bandwidth. This site doesn't use much bandwidth, but perhaps another user on my shared cluster was overdoing it. If you want to try out a VPS, or virtual private server, it's free for the first week. I flipped the switch to see if this helped. What it did was allow me to troubleshoot the issue that was causing my site to be slow. The database server I originally was given was in a different building than my web server. Not good. After talking with their support team they moved it to the same location and things sped up marginally, but it was still obvious that IO's were a little slow. The VPS helped though, and at $15 extra a month I let it ride for a while. This brought my total monthly bill at DreamHost up to $25. I wasn't ecstatic with the results, but I wasn't unhappy either.
On April 1st DreamHost announced a partnership with CloudFlare, brining the service to my attention. CloudFlare is a service that sits in between your site and the world-wide web, pushing the content quicker across the globe and protecting it from spammers and hackers. I signed up for the free plan (why it was free I don't know) and gave it a try. What I noticed bothered me.
My site was loading quick, once it connected. The connection time took up to six seconds, longer than it should. This seemed to be caused by DreamHosts name servers. To summarize, a name server points to the place where your site really lives on the web. When you enter in www.mlapida.com it points to an IP address where my content resides. This should be near instant, but it wasn't. It was taking up to six seconds. CloudFlare can't speed up a site that it can't find for six second.
Before outright switching, I looked to see if I could use someone else's name server. Amazon has a service called Rout 53 that uses their name servers to propagate your DNS all around the world for ultra fast name resolution. DreamHost doesn't make it very easy to use a service like this though. Even if they did throw you a bone setting it up, a little site like this shouldn't need a global name server to rout requests. The "stock" option, so to speak, should work just fine. Paying a few dollars to Amazon each month for this service would be silly, and this silly stuff was beginning to add up.
Anyway, I started thinking the best bet was to move hosts. In January DreamHost was hacked and forced all users to reset their passwords. This means they don't properly encrypt users password data and this just added to the negatives list. I know my little site doesn't demand a whole lot of security, but it's a piece of mind thing, and if they weren't salting the passwords, what other security faux pas were there waiting to get exploited?
So Yesterday I signed back up for MediaTemple. I had a 20% off coupon code that made it easier to swallow and began moving everything over. Instantly I notice improved name resolution times, and database IO time was exponentially better. All in all, less than 24 hours later, I think I made a good move. I think DreamHost, with its cheap plans, unlimited everything and clunky interface, has outgrown its britches. A host is like a bank. No one really likes moving banks, but when the negatives of your current institution outweigh the positives, you do what you have to do.