Monday, December 10, 2007

How much of your link is being utilized?

Having a large link size doesn't guarantee that the link's bandwidth can be fully utilized. Your operating system's window size and latency are both factors on whether the link can be filled to its capacity.

To calculate the maximum bandwidth per flow, divide the operating system's window size by the latency. You can then take this value and divide it by the link size to get the percent of the link that can be utilized for a single flow. There will be several examples to help you understand these calculations.


Step 1: Determining the window size

Use the chart below to find typical window sizes for popular operating systems.
Operating System
Window Size (KB)
Windows 95
8
Windows 98
8
Windows NT 4.0
8
Windows 2000
16
HP-UX 11
32
MAC OS 9
32
LINUX 2.4
64
Windows XP
64

Step 2: Calculating the latency


To estimate the latency on your link, ping the router on the other side of your link. Use the statistic for average round trip time. This statistic is measured in milliseconds; you'll need to convert it to seconds (divide by 1000).


Step 3: Doing the math

The formula for calculating the percent utilization of the link is:


((window_size * 8) / latency_seconds) / link_size


Note: 8 is the number of bits per byte.


Let's look at several examples.


Example 1: High latency


In the first example, the network is experiencing high latency on a smallish link.


Operating System: Windows 2000 (16KB window size)

Latency: 600 ms (0.6 seconds)

Link Size: T1 (1.5 Mbps)


Maximum bandwidth per flow: (16* 8) / 0.6 = 213 Kbps


Divide this number by the link size to get the percent link utilization of a single flow:


213 Kbps / 1.5 Mbps = .14 = 14% utilization


Therefore, with only one flow, 86 percent of the link goes unused.


Example 2: Large link


In the second example, the network has a large link and moderate latency.


Operating System: Windows XP (64KB window size)

Latency: 30 ms (.03 seconds)

Link Size: 45 Mbps


Maximum bandwidth per flow: (64* 8) / .03 = 17,067 Kbps


Divide this by the link size to get the percent link utilization of a single flow:


17,067 Kbps / 45 Mbps = .38 = 38% utilization


In this example, with only one flow, 62 percent of the link goes unused.


Example 3: Compression


In this example, the link has increased its virtual bandwidth using Packeteer's Compression Module. Therefore, the virtual link size should be used in the calculation instead of the physical link size. To calculate the virtual link size, you need to estimate the compression savings you expect to have on the link (for instance, 60%). The formula to calculate the virtual link size is:


link_size / (1-compression_savings)


For example, the virtual link size of a 2 Mbps link that is expected to get 60% compression savings is 2/(1-0.6) = 5 Mbps.


Let's continue this example to find out the percent utilization of a link that's using compression.


Operating System: Windows 2000 (16KB window size)

Latency: 150 ms (0.15 seconds)

Virtual Link Size: 5 Mbps


Maximum bandwidth per flow: (16* 8) / 0.15 = 853 Kbps


Divide this number by the link size to get the percent link utilization of a single flow:


853 Kbps / 5 Mbps = .17 = 17% utilization


A single flow can fill 17% of the virtual link, leaving 83% unutilized.

No comments: