WordPress and Shared Hosting

WordPress and Shared Hosting

Moderate Levels of Traffic: 3000-5000 pageviews a day

I’m still experiencing increased levels of traffic from those recent surges, and am averaging around 3000-5000 pageviews a day. This is considered by people I’ve talked to as “significant” website traffic. I was thinking it was time to get away from shared hosting.

When you hit 3000-5000 pageviews a day, you’re also at the point where shared hosting isn’t enough anymore. Your only option, short of finding a buddy to give you free server space, is to buy dedicated hosting. You get an entire server devoted to your site, but since you’re not longer sharing the machine with other people you have to foot the entire bill. Typically, it’s between $100-$200 a month, and you’re also responsible for keeping it running. There is an even more expensive kind of dedicated hosting called managed hosting, where not only will you get the entire machine to yourself, they’ll also run it for you and guarantee its operation.

Since I don’t have the hundred bucks a month to spend, I went with Media Temple’s dedicated virtual hosting for $50/month. Media Temple is a mainline hosting provider, and provides much more generous disk and bandwidth allocations. MT also offers another hosting plan called the Grid-Server, which takes shared hosting to another level by sharing hundreds of servers with hundreds of websites. Normally, a shared server has a number of customers assigned to it, with each server’s resources distinct from each other. With the grid-server technology, the granularity is finer, and the resources from all servers can be put into one common pool. Theoretically, this means you can get fantastic power and value for one low cost. However, this is a new technology and MT is still working out the bugs. I decided to stay with dedicated virtual hosting.

Dedicated virtual hosting is like getting an entire machine to yourself, but in actuality it’s a form of shared hosting. The server is actually a software “container” that looks like a stand-alone server, sort of like when a large house is divided into several condominiums. You are guaranteed a certain amount of memory, and if there’s any left over you can “burst” to use what’s available. Another advantage of dedicated virtual hosting is that you can easily backup your entire server (it’s virtual) and you can configure anything you want on it. That’s also the downside, because you’re also responsible for keeping the thing running. In general this isn’t as bad as it sounds, as you can administrate your server using a web-based control panel. However, since I’m using the very cheapest level of dedicated virtual server, I find that there’s still some things I need to do to ensure it runs well.

Media Temple sells three levels of dedicated virtual servers, the (dv) Base (which is what I’m using), the (dv) Rage, and the (dv) Extreme. Each server doubles the resources available from the previous level, so the (dv) Rage has twice the memory and disk storage of the (dv) Base. The Base has 256MB of memory, which I know from experience is plenty to run a small server that doesn’t have to use graphics. What I didn’t know was whether this server would be capable of handling my 3000-5000 pageview-a-day habit.

After a few days of struggling with it, I have it at the point where I’m pretty confident that it’ll handle 5000-10,000 pageviews a day without problem. The problemw as this: while the (dv) is set up and ready to go the moment you order it, my particular installation was configured to use as much memory as it could. As I mentioned before, the Base has 256MB of memory, but this is “guaranteed” memory. The virtual server system that is managing all these (dv) virtual servers has a LOT more memory than 256MB, and this is a pool that everyone can draw from. That means if my server needs more than 256MB, and the memory is available, it can get it. If it’s NOT, then the memory request fails. The ideal case, from my perspective as someone who wants my server to run well all the time, is to have it all work within my guaranteed memory allocation. From MT’s perspective, if the server is telling me I am running out of memory, I am more likely to upgrade to a more expensive server package.

My solution was to spend several days going blind learning how to do basic linux server administration. I configured the mysql database engine to work within 128MB, and limited the number of simultaneous web connections to something reasonable while trimming the number of “modules” loaded by the web server. I also discovered several inefficiencies in the way my WordPress installation was set up relating to poorly-written plugins. I’ve been monitoring the server live for a few days now, checking the load average as page requests roll in, but these are all subjects for another article.

Another advantage of the (dv) is that you can resell web service. The number of domains you can add to your site, for example, is up to you. You can add up to 30 before you need to buy an additional “Plesk license”; theoretically, I think you can work around this by manually configuring the server. It normally costs money to add new domains to your web account with shared hosting. With 20GB of space, you can afford to bring a few friends on and offset the cost of your hosting, if you’re willing to do the administration. The Plesk control panel, which allows you to adminstrate the various functions of your server, can also be configured to show your clients whatever features you think they need. It’s a very nice system, and I’ll write up my impressions at a later date.

Host Evaluation: Media Temple offers a great value, and they’re quite well known in the community. I happen to also get a discount on the service through the 9rules affiliate program, so this makes the service comparable to what I was paying for FutureQuest.

The Next Level

I haven’t yet been able to test my server under higher loads. I would guess that’s the 10K pageviews-a-day level. If my (dv) holds up to it, then I’m set for a while.

What might change the equation is if I start hosting other websites or add some web applications to the mix. As it is now, I’m running just a single application—WordPress—on this server. If I added a busy BBS or commerce site, then I’ll be pushing the limits of the server again, and will be forced to upgrade. At that point, though, I would hope to be making enough money from the Web to justify the cost of a real dedicated server.

Here’s how my pageviews vs hosting worked out. Your numbers may be different, based on the number of downloads and images you’re hosting on your website.

PV/DAY MAX EST. BW PLAN
1-250 < 1GB/month cheap shared
251-1000 5GB/month cheap shared
1000-2000 10GB/month shared
2000-3000 30GB/month shared
3000-10000 100GB/month dedicated virtual
10000+ 100GB+/month dedicated?

So that’s my thoughts on the subject. This page will be updated as I learn more. Enjoy!

9 Comments

  1. rick gregory 17 years ago

    David,

    thanks for writing this up. Could you expand on what plug-ins were giving you performance trouble (aside from Mint) and what you did (turn off the plugin, upgrade it, use another to do the function)? Also, since I’m thinking of moving to MT’s (gs) service, any link to issues with it would be very helpful.

  2. Richard 17 years ago

    Thanks for this excellent post.  I can definitely sympathize with your plight, as I recently moved from shared hosting to a managed VPS.

    I would be interested in learning more about the resources you used to enhance your linux skills (books, websites, articles, etc.).

  3. Dave Seah 17 years ago

    Rick: It was the DLoads plugin in mint that was the main culprit. Another one was Tan Tan Reports, which creates a very large entry in the wp-options table, causing mysqld to hiccup. As for the (gs), I don’t know about it…I avoided it because I keep seeing issues about it, plus I wanted to try the (dv) because the price dropped so much. Try searching Technorati for it, and I’m sure you’ll find a lot of commentary on it.

    Richard: When I first got started, I had a book called the Unix Systems Administration Guide and a very “traditional” Linux distribution (“distro”) called Slackware. I spent a day going through every file in the /etc directory understanding what it was, looking up what I didn’t know. Thank goodness for the Internet. This was back in 1998. So I learned basic concepts that way, and gave me a framework for understanding.

    The challenge is that every linux distro is different in where it puts its configuration files. I’ve started compiling a list of the ones for the Plesk/CentOS setup that the (dv) uses, which I’ll post when I get some time to write it up.

  4. Derek 17 years ago

    What are you using for stats now?  BTW – I’m just getting with WP so this info is invaluable.

  5. Dave Seah 17 years ago

    I’ve re-introduced Mint, but just with the SessionTracker and Outclicks peppers. I’m also using Google Analytics and StatCounter, both online services that are free. I’ve heard interesting things about HitTail too, but haven’t tried it yet. You can read about my experience with this in my post Mint vs Google Analytics (and StatCounter).

  6. Richard 17 years ago

    Dave,

    Thanks for the recommendations. I’m looking forward to the configuration file summary, as my host is also running CentOS.

    Have you had any difficulties working with Plesk?  My VPS host gave me the option of Plesk or CPanel.  I originally chose Plesk, but was encountering many issues with PHP open_basedir, includes and file permission issues.  Plesk also did not support PHP5 at that time.  I eventually switched over to CPanel and its clunky interface and directory naming, but most of functionality seemed to work much better out of the box and I was able to upgrade to PHP5 via the control panel.

    As an aside, thanks for maintaining such an informative blog.  I’ve been reading for a few months now and truly enjoy the variety, depth and timeliness of your articles.  Now if I can just find a way to get started using the Printable CEO … :)

  7. Dave Seah 17 years ago

    Richard: I haven’t had any difficulties with Plesk other than it not synchronizing with the mail server once. I’ve never used CPanel before. I haven’t looked into PHP5 and other such things (so far, I’ve had no need of them).

    Thanks for the compliment too! It’s much appreciated :-)

  8. Steve 17 years ago

    Funny enough, I got to this page by Googling “futurequest sucks” too. It fares a lot better than Yahoo webhosting, IX Webhosting and HostGator. I guess I’ll be Futurequesting soon too… thanks David.

  9. Reyes 15 years ago

    Dave,

    Even if your article was posted 2 years back it still remains as a very useful resource. As for the hosts mentioned googling “Futurequest sucks” still doesn’t show any relevant results and Media Temple remains as the next soultion to Futurequest’s limitations.

    Thanks for your honest reviews.