Microsoft KB Archive/186800

= How Bandwidth Throttling Works in IIS 4.0 =

Article ID: 186800

Article Last Modified on 6/23/2005

-

APPLIES TO


 * Microsoft Internet Information Server 4.0

-



This article was previously published under Q186800



We strongly recommend that all users upgrade to Microsoft Internet Information Services (IIS) version 6.0 running on Microsoft Windows Server 2003. IIS 6.0 significantly increases Web infrastructure security. For more information about IIS security-related topics, visit the following Microsoft Web site:

http://www.microsoft.com/technet/security/prodtech/IIS.mspx



SUMMARY
This article explains the bandwidth throttling feature in Internet Information Server (IIS) 4.0.



MORE INFORMATION
The throttler checks measured bandwidth versus max bandwidth every 10 seconds, not on every request. The throttler works as follows:

 Every 10 seconds, the throttler:

 Checks the bandwidth used in the last 60 seconds and compares that to max bandwidth. Sets state to BelowLimit if current usage is less than max. Sets state to EqualToLimit if current usage is about equal to max. Sets state to OverLimit if current usage is greater than max. </li> On every I/O request, the throttler:

 Checks to see whether the state is BelowLimit, EqualToLimit, or OverLimit.</li> Decides whether to allow the request based on the current state and the type of I/O requested.</li></ul>

When the state is BelowLimit, the throttler allows all I/O operations. When the state is EqualToLimit, the throttler blocks type V but allows types W, X, Y, and Z. When the state is OverLimit, the throttler rejects type V, blocks types W and X, and allows Y and Z.</li></ol>

I/O operation types are classified according to the following: V is a read, and the others are various types of sends. Usually Web server processing includes reading the request and sending the response. The throttler is more aggressive about stopping reads, because preventing a read causes fewer responses to be sent in the future.

On each I/O, the throttler does not attempt to check whether that operation exceeds the bandwidth limit. Rather, all that is checked is the current state (below, equal, or over) and the type of operation. When the state is over, all requests of type V are rejected, and all requests of type W and X are blocked until the state goes back to equal or below.

Note that the current state only changes every 10 seconds, when bandwidth usage is checked. On a short time scale (for example, 5 seconds), bandwidth limit may be exceeded, but on a longer scale (for example, 1 to 2 minutes), bandwidth should always be near or below the limit.

Keywords: kbinfo KB186800

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.