A while back we had a client site running on their own dedicated server. As most Linux servers are, this one was running Apache. It’s the web server software that most of the world uses and for some time, everything was fine. Then the site gained more popularity and the morning spikes that correlated with their daily email blast started bringing the server to it’s knees. We tried caching, and though it seemed to help, we had some trouble with the two caching plugins we tried. Ultimately, the biggest issue was that each instance of Apache was eating up too much memory. Way too much.
Recently we had a smaller client site running on one of our servers, also on Apache, and it hit the front page of Fark.com. The increase in traffic to that server made the next day and a half challenging. Because it was a small site, we moved it to a VPS instead of letting it live on our primary servers. In the move, we tried Nginx for the first time and could not have been happier with the result. This site has been running speedily along without trouble for months now and the VPS only has 512MB of ram.
So with a dedicated box that has a whopping 16GB of ram, we decided to make the switch. A couple of package installs and a few config files later, Nginx was powering this client site at peak times with less than 2GB or ram. And it’s been stable ever since. Little more than a few Google searches were used to get the needed info. The hardest part of the install was migrating to FastCGI, but again, Google is key in finding the right info.
I should mention that this site is running on WordPress. From my experience, WordPress can be a bit of a bear. The community is fantastic, the software is extremely flexible and friendly, but the performance after installing a few plugins can be downright deplorable. Add a bunch of images (since it’s a news site) and backend software for running ads, and you have yourself a resource hog. The options were to either rework the site to be less graphics heavy and cache more or bulk up the hardware to handle it. Now that we have moved to Nginx, caching is not required and the server has much more capacity remaining for future growth.
All future servers will be deployed with Nginx instead of Apache. No question.