DOCUMENT:Q186800 08-MAR-2002 [iis] TITLE :How Bandwidth Throttling Works in IIS 4.0 PRODUCT :Internet Information Server PROD/VER::4.0 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Internet Information Server version 4.0 ------------------------------------------------------------------------------- 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: 1. 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. 2. On every I/O request, the throttler: - Checks to see whether the state is BelowLimit, EqualToLimit, or OverLimit. - Decides whether to allow the request based on the current state and the type of I/O requested. 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. 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. Additional query words: ====================================================================== Keywords : Technology : kbiisSearch kbiis400 Version : :4.0 Issue type : kbinfo ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2002.