RackForce Blog

New Products and Business Development


« »

Understanding Bandwidth

November 3rd, 2006 [by Doug Alder]

As someone involved in server sales I constantly come across prospective customers who are new to hosting and are confused about bandwidth. I hope this post will help make this subject a little clearer for them.The first thing to know is that bandwidth is really not a good term. Bandwidth refers to the available spread of connection speeds available. Bandwidth is a measure of capacity not a measure of quantity. For example, if you think of capacity in terms of radio frequencies, where the term bandwidth originated, then the range of frequencies between the lowest frequency and the highest frequency offered would be the available bandwidth. In data transfer when you have say a 10Mbps connection your available bandwidth is 0 to 10Mbps, capacity not quantity. A better term for what the hosting industry refers to as bandwidth would be data transfer. However, as bandwidth has become the de facto norm for describing how much data you can transfer over a given connection over time we will use that term here to avoid further confusion.First a few terms. Data transfer, which of course is what the net is all about, is measured in bits (b) per second. In telecommunications a bit is the smallest unit of information that can be transmitted. This can be stated as Kbps (kilobits per second), Mbps (megabits per second – the most common term in use), or Gbps (gigabits per second). It is not measured in bytes (B) KBps (Kilobyte per second), MBps or GBps. Connection rates are referred to as bit rates.There are two basic ways bandwidth is marketed to consumers, metered (where you pay for each GB of traffic in and out of the server) and unmetered (where you pay a flat fee per month). Those in turn are either dedicated connections or shared connections.Shared ConnectionsWhen a host says you can do X number of GB per month on a hosting plan you are pretty much guaranteed that you are on a shared connection. In most, but not all, cases that connection will be a 10Mbps or a 100Mbps connection out to the network edge and it will be oversubscribed. That is, the host will put more customers on the line than they should, banking on the odds that traffic will be relatively evenly spread out and that no-one will be using very much. This is similar to the way that dial up ISPs “sell” access to their modems. A 16:1 or 20:1 ratio (20 users per modem) is an industry norm. In that case the ISP banks on only one in 16, or one in 20, of their customers wanting to be online at any given moment. If more than that try they get a busy signal and can’t get on. Similarly when a host uses shared bandwidth and over sells access to it, their customers will suffer poor connection rates when too many people try to use that connection at the same time, or a customer(s) publishes multimedia data that requires a large part of the pipe. On shared bandwidth you do not have any guaranteed rate of connection, it is first come first served.This type of connection can work for you if you have a low traffic site and a site that does not require a certain connection rate to be there for it at all times. Customers on a shared 100Mbps connection may see connection rates for their servervary from 100Kbps to 5Mbps depending on the time of day, how oversold the line is, and what type of content the users on the line have. Generally these types of connections result in overall slow and unpredictable connection rates.Dedicated ConnectionsWhen you, as a server operator, or hosting provider, want to count on a given connection rate being available to you at all times you need to be on a dedicated connection. A connection that you do not share with anyone else. If your provider gives you a dedicated connection you have a CBR (that is a committed bit rate also known as constant bit rate) of approx 70% of your peak bit rate. If your connection rate is capped at 10Mbps that means you can count on 7 Mbps always being available to you with the ability to burst as needed to 10Mbps. Dedicated connections are particularly important for any website delivering multimedia content and it is on these type of connections that we’ll deal with here.Getting the Right Connection RateAs mentioned earlier connection rates are measured in bits per second and the amount of data transfered is measured in bytes, generally expressed as gigabytes. If you are hosting multimedia you need to know how many GB of traffic (commonly called bandwidth) you expect to move over your server’s connection over the course of 30 days in order to determine the connection rate you need in order to allow for that much traffic.Time for an example. A connection rate of 1.5 Mbps is theoretically capable of moving 474.609375GB of traffic in each direction (ingress – egress) over the course of 30 days. So if you expect your traffic to be less than that you know you can probably do OK on a 1.5Mbps connection. I say probably because it will still depend on other factors such as the number of concurrent users on your site and the amount of data each user moves in each direction. To determine how much you need lets look at someone that wants to operate a streaming audio server. The first pieces of data necessary are how may simultaneous streams will be made available and what rate will the data be streamed at. 28Kbps is more than sufficient for most streaming audio so lets use that and lets say you want 50 concurrent streams. To determine the rate necessary perform the following stepsOpen a new Google search page and enter the following algorithm and hit enter28Kb*50=?MbThe result you’ll get is 1.3671875Mb so theoretically you could do that on a 1.5Mbps connection, however not really as this is Internet Protocol (IP) and IP packets carry overhead. If you fill the pipe 100% except in momentary bursts you will get packet collisions and thus packet loss causing the server to constantly resend packets. Thus the 70% CBR mentioned above. So to handle that many streams at once you need to allow for that 30% headroom needed to prevent packet loss which means you really need a 2Mbps connection to handle that many streams at once.What this comes down to is when you are planning your server needs you must have a good idea of not only how much data transfer you will use over time (GB per month), but also what capacity to transfer (Mbps) you may need during your peak times. With a streaming media server that’s relatively easy to figure out as we’ve already shown. With other sites that offer files for download you can estimate the maximum number of concurrent file transfers you expect and then use that with your largest file size to estimate the size of connection you need to cover that contingency.For example, lets say you are offering a video file for download (but not streamed). Then lets say that the maximum number of concurrent download sessions you expect to have is 50 then you can work it out like this:

  1. Determine the minimum rate you want each file download to proceed at. 1.5Mbps is a relatively high figure as that is the average broadband download connection speed offered but we’ll use it here as connection rates are growing.
  2. Multiply the max number of connections by the minimum transfer rate
  3. 50×1.5=75Mbps

Allowing for IP packet overhead that mean you would need a 100Mbps connection in order to give 50 people a 1.5Mbps download rate at the same time.It’s when you aren’t offering downloads or streaming media that it gets more difficult to determine your needs. At this point you need to consider what the users will likely be doing on your site and measure the amount of data your pages will be sending them. Then figure out the maximum number of concurrent connections you expect to have and work it out as per the last example. However in this case the figure won’t be as accurate because you are not constantly transmitting data to their client, people may be connected to your site but they may just be sitting there reading text and that is not the same as downloading a file or streaming some media content. If you have a relatively static page without a lot of large graphics then you can handle a lot more connections on a given connection rate than you probably estimate. Best advice is do an approximation then cut it back and scale up when necessary. If your estimation is you need a 5 Mbps connection start with a 3Mbps and see how it works before committing to more expensive connections.To grow your business successfully you need to be certain that your server host can grow with you and can offer you the products you need, when you need them. RackForce offers a wide range of dedicated connection rates, Start with what works and grow as required.

12 Responses to “Understanding Bandwidth”

  1. M. Douglas Wray Says:

    Thanks for that outstanding explanation! Excellent details and well-presented!However, for my boomer-generation, non-tech-savvy clients I’ll just tell them it’s ‘tubes’.*grin*

  2. Doug Alder Says:

    Thanks Doug ;) Big tubes – not trucks LOL

  3. Justin Hartman Says:

    Hi DougExcellent explanation. I myself have never really understood the whole MBPS ratio and this gives me a thorough understanding however I would like you to assist me with a question.I run a search engine on your dds1000 plan and if I am correct I am on the 1.5mb connection. My max concurrent clients allowed in Apache is about 320.The other day I had a surge in traffic to the website and what I noticed was that many of my users complained about slow speeds and page timeouts. I assumed that this was as a result of my max connections but reading your blog entry I think it had more to do with the 1.5mb connection.So, my question is how can I work out how much bandwidth I need for the usage of my site. Mine is one of those difficult ones to work out as I offer no downloads or streaming but rather generic php pages running search queries to the mysql database.I would say that on average page data transfer is about 25kb per user and at any given time I need to allow for about 200 concurrent users.This is a very thumbsucked figure but when the site experienced slow delivery rates I think there were between 60-100 concurrent users but I have no way of knowing for sure.To take this a step further, as well as to explore upgrade options, what sort of connection / bandwidth would I need to allow for up to 2000 concurrent users. Is this even possible without clustering?Thanks in advance for your response!RegardsJustin

  4. Doug Alder Says:

    Hi JustinThanks. It is a hard thing to get your head around :) To work out your problem it is back to Google25Kb*200=?Mbis the algorithm to use and that returns25 kilobits * 200 = 4.8828125 megabitsGiven that you need some reasonable headroom you need a 5Mbps connection to cover off 200 users simultaneously pulling 25Kilobits of data. Now if you meant kilobytes (always use a capital B for bytes and lowercase b for bits) you’d need a very big connection, somewhere around 45 to 50Mbps.I hope that helps :)

  5. Brian Says:

    You need a column called “Ask Dr. Bandwidth”

  6. Justin Hartman Says:

    Hi DougSorry for my protracted delay in responding to you. Yes this does help but it seems very concerning for me as I’m not really sure on the path forward for me.Is it perhaps possible for you to email me so that I can ask you a few more questions in private? I am a current client so helping me map my path forward would be great!!!Thanks in advance

  7. hola Says:

    Very very well explained. This is a very useful article :)

  8. Doug Alder Says:

    Thanks Hola :-)

  9. Nerd Says:

    You are all right. I agree with the terms sayed.

  10. RackForce Blog Says:

    [...] do you get when you combine an IBM 5300 Quad Core Intel Xeon server with an unmetered dedicated 100Mbps connection? One heck of a multimedia performance machine is what you [...]

  11. Calculating Videos on site to Bandwidth or Aggregate Transfer to cost of video played | Linux System Admins Blog Says:

    [...] Understanding Bandwidth by Doug Alder [...]

  12. George Says:

    Please give your thoughts on this article:http://whreviews.com/unmetered-shared-bandwidth.htm

Search the RackForce Blog
Go