So, just to follow up on this idea, it’s possible to calculate approximately how many pageviews per day/week/month a site could receive before outgrowing a shared server. This is rarely discussed because the whole CPU resource concept is difficult to measure and most people don’t think about it when they see that the disk space, bandwidth, etc is all unlimited.
According to the wiki, a customer can use up to around 300 CPU minutes without causing problems. It’s not clear whether it’s per customer or per user, but the first revision of that page states per customer, so we’ll go with that.
If you turn on resource reporting, you can get a feel for how many minutes or seconds your users consume each day and use that with your pageview stats to calculate how many CPU seconds are consumed by an average page request. If your site is totally static, it would be just a few milliseconds per page. In fact, it’s such a small amount that it won’t even show up on the resource usage reports! An efficient dynamic site, however, may take anywhere from 20—200ms per page. WordPress or other behemoths may take much more than that just for a single page.
So let’s say that, on average, your dynamic site consumes 171ms of CPU time per request (personal example). Assuming demand for your site was relatively constant throughout the day and you managed to stay within memory limits, you could get away with about:
pageviews per day: 18,000
pageviews per week: 126,000
[*]pageviews per month: 546,000
As Ipstenu noted, 250k / month is doable on shared hosting, but based on these simple calculations, doubling that might be pushing the limits of shared hosting.
That’s humbling for me. My busiest month was 296k pageviews, so I either need to optimise more if I want to expand or start monetising my site!
One thing that’s confusing is that the CPU resources consumed seems to depend on the type of server that you are on. I was moved to a different server about half way through 2012 and noticed that, for the same traffic, the amount of resources my site was consuming increased. It increased by a lot. ≈4× to be precise. I assume it’s because my ‘new’ server was actually an older, less capable server with less RAM and fewer CPUs, but it does make one wonder if one can get away with more pageviews by being placed on a newer server.
DH used to talk about shifting popular sites to relatively quiet servers in an effort to keep customers on shared plans from running out of resources. I wonder, out loud, if this strategy is still official policy.