I've recently moved my blog to a slice on Slicehost VPS hosting. I've been using Slicehost for awhile now to host my pet project, Firmant and have been impressed with it. This post discusses some of the changes I made to the Firmant stack as well as the changes to my blog.
Over the past few days I migrated the Trac setup for Firmant to Redmine as I felt Redmine better met my needs (no hard feelings toward Trac). Part of this transition included changing the software on the server.
A brief overview of the changes to Firmant's stack:
- Move from Apache 2.2 to LigHTTPD 1.4. This change made the largest difference. Firmant was hosted using the MPM-Prefork version of Apache 2.2. Moving to LigHTTPD has decreased the memory consumption of my http server, decreased the number of processes, and increased the throughput of my server for static files.
- Move from PostgreSQL to MySQL. This change is largely because Trac recommends PostgreSQL while Redmine recommends MySQL. Also it is easier to get MySQL to behave in low memory situations.
- Removed selinux from my slice. I had selinux enabled for the extra security, but the slight overhead involved made the difference between swapping or not.
After I finished migrating Firmant, I chose to migrate my blog from the previous host to my slice as an experiment as an experiment. This is made possible by the fact that Wordpress relies upon MySQL. When Firmant goes stable I will convert and restructure my slice; until then, I will stick with MySQL.
The host on which my blog used to reside was roughly equivalent to my slice on Slicehost in terms of CPU and memory, but had a slower disk and network connection.
Overall I highly recommend LigHTTPD for both Redmine and Wordpress. If anyone needs help configuring it for either, feel free to email 'me at this domain dot com' or leave a question in the comments.
Update
As of December 3, 2009, I have switched away from LigHTTPD to nginx. This move was prompted by the superior FastCGI configuration options that nginx provides. Performance is comparable to what it was under LigHTTPD.