Configuring Servers for Streaming, Part Two
Bandwidth Pointers
Tip:
You can never have too much bandwidth. Calculate how much network bandwidth you’ll need to serve up based on peak usage, not average usage. Multiply the largest number of clients you expect to access the server at any one time by the stream size in kilobits per second (Kbps). Use the actual bit rate and add a 20 percent factor for bit overhead, re-sent packets, etc.
For example:
50 peak users x 37Kbps each = 1.85Mbps combined bandwidth
1.85Mbps combined bandwidth x additional 20% = 370Kbps for overhead 370Kbps overhead + 1.85Mbps = 2.22Mbps
This is the bandwidth capacity the server will need to support through its I/O and the magic number needed for the outbound Internet pipe.
Tip: Don’t even think about hosting your own streaming server unless you have a better than T1 line outbound from your streaming server to the Internet. It only takes 22 simultaneous 56Kbps viewers to "consume" a 1.5 Mbps T1 link. For comparison’s sake you can serve about 40 people at 32Kbps, 15 people at 80Kbps or 6 people at 200Kbps at one time. Get as much bandwidth as you can afford.
Tip: Consider the length of your video or audio. Hour-long content will have fewer eyeballs and require more connection time than content that runs, say, 10 minutes in length. If you had 60 minutes of video streamed on-demand and a T1 capable of 22, 56Kbps streams at one time, 528 sets of eyeballs could see the video in a 24-hour period, maximum. If you had 10 minutes of streamed video on-demand with the same T1 capable of 22, 56Kbps streams at one time, you’d reach 3,168 people in the same 24-hour period.
Four Ways to Increase Bandwidth Efficiency
If your servers are eating up bandwidth faster than you can send it down the pipe, you can hop up bandwidth efficiency a couple of ways.
Reduce the maximum bit rate the server can stream to a client. Most streaming server apps have a feature that lets you limit bandwidth to each client, so if you set bandwidth not to exceed 56Kbps, down from 128Kbps previously, you’ve considerably reduced the drain on the line and still targeted the majority of today’s online users.
Use cache and carry. Do not overlook the importance of implementing a cache whenever and wherever you can along the streaming path. Caching is essentially storing data where you can retrieve it FAST! Cache is on the processor (L1). It’s on the processor board (L2). It’s contained within main memory controlled by the operating system. It’s on the disk controller. And it’s on the disk drive itself. There are even caching servers specifically designed for caching data, typically specialized storage units (often an appliance server tailored specifically for streaming media). Keep in mind the speed variances between different kinds of caches: L1 cache is faster than L2 cache. Main memory cache is faster than disk cache, and locally attached disk cache may be faster than network attached (fibre – iSCSI) disk cache.
Use the Quality of Service (QoS) features in your operating system to give streaming preferential access through the network. The Resource Reservation Protocol (RSVP) can be set to reserve bandwidth for multicast stream as well as unicast streams, which will net some performance gains.
For marginal increase in throughput, disable the nonessential services (such as spooler, license logging, etc.) in the operating system.