Archive for the ‘apache’ Category

apache mod_deflate reduces bandwidth usage by 27% on SuperMotors.net

In the ongoing battle of optimizing, tweaking, and testing, in November we enabled apache’s mod_deflate module on SuperMotors.net. Literally adding about 10 lines of code to httpd.conf (the apache config file), all text-based content on our pages now use gzip compression when delivered to web browsers that support gzip compression. By using this tool, you can see if your site currently utilizes gzip compression. When testing SuperMotors.net with this tool, our homepage size was originally 49K, but with gzip compression thanks to mod_deflate, it is reduced to 9K. This is an 81% savings in bandwidth usage.

So, when implemented over the course of the entire month, we saw an overall 27% reduction in bandwidth. Surprisingly, our absolute unique visitor count was down 14% for November (holidays do this to our site), but page views actually increased by 1%. Page views are ultimately the driver in bandwidth utilization. I interpret this to mean that fewer users were able to do more on our site because they were downloading content in less amount of time.

So, why does the test tool from above show an 81% reduction in bandwidth yet we only saw an overall reduction of 27%? This is because images (and other files) are not compressed when delivered to web clients. Since we primarily serve images and videos, the rest of our bandwidth still remains largely untouched by mod_deflate — which is by design.

This bandwidth reduction is very good news for us. As previously posted, we are leaving the world of colocation and moving to managed hosting — with a new billing model. The “total bandwidth used” billing model favors us even more now that we’ve reduced bandwidth usage by 27%. This translates into squeezing more data out of the pipe than previously anticipated. We’ll be able to maintain our fixed costs and increase revenue, thanks to this little module. The more data we push out, the more page views we serve, and the more revenue we make from our CPM-based advertising model with Tribal Fusion and our in-house ad inventory (read the challenges we face when we introduce Ajax functionality and how it’ll affect our CPM-based ad model).

The mod_deflate module does increase CPU usage due to the need to compress each page sent out. However, this had very little impact on us as we had plenty of processing power to spare. Your results may vary, so keep an eye on CPU usage when you implement this module. The slight increase in CPU usage was worth the risk, because the 27% reduction in bandwidth was a much bigger gain for us.

12/4/06 Edit: Ajaxian has an article on gzip compression with some user responses. Interesting insights (in the comments section) on the law of diminishing returns with gzip compression used on ajax-enabled pages. 

Managed hosting - Rackspace vs. Peer1 vs. INetU (Part 1)

Goodbye colocation
We (SuperMotors) are nearing the end of our 2-year co-location agreement with ipHouse. Their service has been great, and it was nice to have our servers for SuperMotors located within walking distance of my old job in downtown Minneapolis. However, I’ve sinced relocated to North Carolina, so dealing with broken hardware or a misbehaving server is a little hard when the server is now an 18-hour drive (or 3-hour flight) away.

We have the wrong billing model
Additionally, we are realizing that the 95th-percentile billing model is very, very wrong for our type of traffic and our type of online business. Total data transferred is by far the better of the two from a cost and performance standpoint. We are billed on 95th percentile based on ipHouse’s billing model, not because they are evil in any way. We do not fault them at all for their billing methodology — you will find a mix of billing models with many hosting companies.

Searching for managed hosting
But, all is not lost. We are nearing the end of our contract (3/1/07) at the time of this writing, so I am doing my due-diligence in finding a reliable managed hosting provider for us. While we have some decent hardware that we will really have no use for after we switch from colocation to managed hosting, in the long run, and managed solution is better for us anyway. With me living on the east coast, Kirk and Elliot back in the midwest, it makes it hard to manage our own servers. Plus, Greensboro, NC isn’t really a hotbed of technology, so colocation options are few and far between…and a little on the pricey side. Neighboring cities such as Raleigh and Charlotte have viable options, but again, the convenience aspect is not there as those are both 60-minute and 90-minute drives, respectively. Not the type of response time to a server problem that we want to deal with. Nor is it convenient to drive that far if there’s a hardware problem.

So, managed hosting enters the picture. Wow, what a decision to make. We are essentially entrusting our entire business into the reliablity of another company. Previously, we at least owned our own equipment and could at any time take said equipment and put it somewhere else. Granted, we were in a 2-year contract with ipHouse, but it was always a nice safeguard to be able to just pull your equipment and essentially your data away from one place and put it at another place.

The Players
In my quest, I have found 3 managed hosting providers that I would consider trustworthy and reliable for the size of our online business. In no particular order, they are:

  1. Rackspace
  2. INetU
  3. PEER 1

My delimma is a little more complex in that I’m used to managing our own servers and hardware, so it’s difficult giving up this level of control. Fortunately all 3 providers above provide full root access to the server. However, being the FreeBSD guy that I am, only INetU offers FreeBSD hosting among the 3. Rackspace and Peer 1 both offer Windows Server (heh) and Red Hat Linux Enterprise.

FreeBSD guy scared of Red Hat Linux Enterprise (yes, I’m not afraid to admit it)
Knowing very little about Red Hat Linux Enterprise is a concern to me. I’ve had experience working with it at Levolor as we have a load balanced and fully managed environment at Rackspace for Levolor.com. The support has been phenomenal, to say the least. INetU is significantly more expensive, but offers FreeBSD. Peer 1 I have no experience with, but has the best pricing, by leaps and bounds.

Decision to be made by 12/31/06
I will continue to post my findings as I work with sales reps from all three companies and compare pricing, services, and good ol’ fashioned “gut feel” as I work with each company. In the end, we will be comitting to a 1 or 2-year contract with whatever company we work with. As of this writing, Peer 1 is the most attractive deal, Rackspace a close second, and INetU a distant third. My decisions could easily be swayed in the next month as we aim to lock into a contract between the 12/31/06 and 1/31/07 timeframe.