Over the past few days I’ve been doing some capacity planning for the WP Sites hosting setup and as part of this I had to revisit the Rackspace cloud throughput limits. When you try to squeeze out every ounce of performance from say a 1024MB cloud server it’s quite easy to forget (Rackspace don’t actually shout about it) that each server instance has what looks like a pretty stingy bandwidth pipe.
A 1024MB cloud server is limited to 30 Mbps on it’s public interface which doesn’t sound like a lot and each time I look at those numbers I panic thinking I’m going to have to find a new provider without those limits, if you think about it a little further 30 Mbps is quite a bit.
30 Mbps is equivalent to 225,00 MB of data every minute. If we go by the average webpage size being 1.5 MB that’s 150 pages per minute, or 2.5 pages per second (this is obviously simplified, no browser cache or anything like that taken into account). Even an un-optimised server should easily serve up 2.5 WordPress pages per second and in you kept that up constantly it could set you back £1,195.56 in bandwidth charges per month! So based on 2.5 pages a second that’s 216,000 visitors a day costing you a total of £1,195.56 in bandwidth charges at the end of the month.
If I saw a server only serving up 2.5 pages per second I would be worried. Even without page or object caching that number should go over 10 pages per second. On these figures if we went to 10 pages per second the data pipe on this server instance wouldn’t be able to shift the data. That’s 864,000 visits a day and spending £4,780 on bandwidth for the month, and you would have to upgrade the server to a 8192 MB instance to be able to serve that data through it’s 150 Mbps capped data pipe.
I usually get excited when I just turn on simple page caching and straight away get the requests per second up to 500 but there is no way a 1024 MB Rackspace server instance could shift more than 2.5 p/s (constantly). That’s over 43 million visitors per day, 2.5 TB of bandwidth per day, which would cost you nearly £10,000 at the end of the month in bandwidth, plus you would need to upgrade to the largest 30720 MB server instance they do in the cloud (capped at 97TB a month).
The main purpose of this post is to demonstrate that the throughput limits Rackspace put in place aren’t the end of the world and to remind me of this in future. Those servers are only meant to push that amount of traffic. Rackspace bandwidth is premium so if you plan to use lots of it then you’re better off pushing it to a CDN where you might be able to get a better deal than the 12p per GB they charge.
In the real world different numbers of people will be connected to your server downloading files at different rates (depending on their internet connection speed) which will effect the amount of data/visitors your site can handle. Also a good number of page views will have your CSS, JS and main images cached in the users browser so you’re going to save download data there.
Rackspace Server Instance Throughput
Instance size | Public net limit | Service net limit | Usage per second (public) | Per minute | Per hour | Per month |
---|---|---|---|---|---|---|
256 MB | 10 Mbps | 20 Mbps | 1,25 MB/s | 75,00 MB/min | 4,50 GB/h | 3,24 TB/m |
512 MB | 20 Mbps | 40 Mbps | 2,50 MB/s | 150,00 MB/min | 9,00 GB/h | 6,48 TB/m |
1024 MB | 30 Mbps | 60 Mbps | 3,75 MB/s | 225,00 MB/min | 13,50 GB/h | 9,72 TB/m |
2048 MB | 60 Mbps | 120 Mbps | 7,50 MB/s | 450,00 MB/min | 27,00 GB/h | 19,44 TB/m |
4096 MB | 100 Mbps | 200 Mbps | 12,50 MB/s | 750,00 MB/min | 45,00 GB/h | 32,40 TB/m |
8192 MB | 150 Mbps | 300 Mbps | 18,75 MB/s | 1,13 GB/min | 67,50 GB/h | 48,60 TB/m |
15872 MB | 200 Mbps | 400 Mbps | 25,00 MB/s | 1,50 GB/min | 90,00 GB/h | 64,80 TB/m |
30720 MB | 300 Mbps | 600 Mbps | 37,50 MB/s | 2,25 GB/min | 135,00 GB/h | 97,20 TB/m |
Costs Associated
This is the approximate theoretical cost if you were to utilise all of the available throughput on these servers
Instance size | Server cost | Hourly bandwidth cost 12p per GB | Monthly Bandwidth cost |
---|---|---|---|
256 MB | £7.30 | 54p | £398.52 |
512 MB | £14.60 | £1.08 | £797.04 |
1024 MB | £29.20 | £1.62 | £1,195.56 |
2048 MB | £58.40 | £3.24 | £2,391.12 |
4096 MB | £116.80 | £5.40 | £3,985.02 |
8192 MB | £233.60 | £8.10 | £5,977.08 |
15872 MB | £467.20 | £10.80 | £7,970 |
30720 MB | £876 | £16.20 | £11,955.06 |
I’ve been looking for a way to elegantly cap the monthly bandwidth usage on a per user basis. Rackspace don’t offer a way to do this and I’ve not found a straight forward way of accomplishing it. If you suddenly have a spike in traffic one month, you could easily wind up with a hefty bill.