Time to summarize my quest for the perfect host for my various websites. None of my sites get particularly heavy traffic, but I manage some "community" services which place certain demands on the hosting company. A couple years ago I outgrew pair.com and I've not really found the pefect hosting company yet. This post is an attempt to summarize my experiences, mainly so I won't forget why I made the moves I did. Perhaps one or two other folks can also benefit from my experiences.
I began my first website in 1996 for a small-ish (~500 members) professional society (The International Thermoelectric Society). After searching the web (pre-Google) I settled on pair.com, where I stayed for 10 years. The first website was built with MS Frontpage, but eventually migrated to Postnuke to be a bit more interactive. Postnuke was poorly coded and a few years ago I decided to migrate to Drupal.
Drupal has a marvelous modular design and the core, particularly, is not only well coded but has extensive documentation. Drupal got a big boost in the 2004 US Presidential election when Howard Dean used it as the basis for his website. He raised a ton of money over the internet.
I'm a big fan of Drupal but it can become quite a resource hog, if you load many or complex modules. Simple sites can run on shared hosting, but really Drupal is happier with a machine of it's own.
Thus I began my seeminly endless quest for the perfect VPS.
My Requirements Today
My primary requirements to host the sites I host today include:
- Drupal capable
- Multiple domains
- Mailman mailing lists
- 'Snapshot' VPS backup images
- Spam filtering & anti-virus
Prefferred secondary requirements:
- Debian OS
- Xen virtual machine
- 50GB storage
- rsync in to backup off-site (home/office) data
These requirements need not be orthogonal, but I've yet to find them all in one place.
Mailing List Software
I run two main mailing lists. One is an "announcement only" list, about 1-2 mailings/month to about 1700 people. The other is a "discussion" list with maybe 15 subscribers, completely closed and private.
I started with SmartList, a procmail-based set of scripts (no longer supported anywhere). It actually served my purposes exactly and I'd still be using it if I hadn't left pair.com. Then I tried DadaMail and PhpList for the larger list. Both worked satisfactorily but I've settled on Mailman.
I've found Mailman to be very robust and highly customizable. Some people are intimated by all the options on the web interface, and for those folks I'd suggest sticking with DadaMail or PhpList. I recently looked at ezmlm, which reminds me of the old days of command-line editing of multiple configuration files as Smartlist required. There is a web interface available (ezmlm-web), but I gave up trying to install it. Lots of dependencies, and an unfamilar OS (for me), did me in.
Mailman seems to me the connonical choice and I'm sticking with it.
Experience with Shared Hosting
I started with pair.com and was with them for 10 years. They are a class act all the way. Great support. Shared servers have uptime measured in months. They achieve very high reliability by not using 'bleeding edge' software and keeping customers strictly within resource utilization requirements.
That's what did me in. My fully loaded Drupal can use 20-30 MB of RAM, which exceeded the limits at pair.com. So they would 'reap' my processes: which is to say they delivered up "Error 500" messages.
Keep your dynamic pages a bit simpler and you'll have no trouble at pair.com. But I had to choose pair.com or Drupal. And I chose Drupal.
Dreamhost gets a lot of good reviews. Good feature mix, lots of storage space, decent customer support. You can usually find coupons around that get you a year of hosting for $23! So I opened an account there, which I still have. I've never done any 'live' Drupal sites from them for one reason: slow databases.
Dreamhost uses an unusual internal archecture. They have some servers dedicated to webhosting, others dedicated to databases and others dedicated to mail servers. So each time your webpage does a database query, it has to reach into another machine. My Drupal sites are very database intensive and ran relatively slowly at Dreamhost. So I never went live with them.
An interesting plus of dreamhost is that they allow rsync, the fantastic linux differential mirroring program. I have my local linux fileserver rsync nightly up to my Dreamhost account for a reliable off-site backup of all my essential data. It is a very cheap do-it-yourself backup service. Might be worth keeping this account just for that purpose alone.
But for hosting a moderately complex Drupal site, Dreamhost is off my list.
Site5 has a great selection of features at great prices. I originally setup an account there to do my mailman mailing lists, and manage my email accounts, with the intention of using a VPS to host Drupal.
But when I got my account I found the performance for my Drupal website was really great and went live with it. This worked fine for some months. Then came the downtime. The server crashed more and more often. Some hardware troubles, some misbehaving shared-hosting customers. More than once I could watch the swap file filling up, a sure sign of an impending crash. It got so bad even my email became unreliable.
I still have a few small things on Site5, but only until I get around to moving them off.
The trouble with Site5, as with proably all shared hosting, is severe overbooking. They are counting on the average customer using far less of the machine than is allocated to them. There is no other way to make money at these very low priced hosts.
I will say their support people were always professional and quick to respond. For a genuine hobby site, Site5 is fine. But reliable, they weren't.