Enhancing performance in Internet Information Server 4.0

This article was previously published under Q235461
This article has been archived. It is offered "as is" and will no longer be updated.
We strongly recommend that all users upgrade to Microsoft Internet Information Services (IIS) version 7.0 running on Microsoft Windows Server 2008. IIS 7.0 significantly increases Web infrastructure security. For more information about IIS security-related topics, visit the following Microsoft Web site:For more information about IIS 7.0, visit the following Microsoft Web site:
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows registry
This article provides some general performance-enhancement settings for Internet Information Server (IIS) 4.0. The default settings for Internet Information Server 4.0 are adequate for most uses; however, sites serving a great number of users may need to increase certain default parameters to increase performance. These settings should be verified on a test computer prior to making changes to the production computer.
More information
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
  1. Increase the number of script engines cached by performing the following steps:
    1. Open the MMC, and then right-click the computer name.
    2. Click Properties.
    3. Click WWW Service, and then click Edit master properties.
    4. Click the Home Directories tab, and then click Configuration.
    5. Click the Process Options tab.
    6. Change the value in Script Engines cached to 100. Setting this value higher than 250 will show only marginal results.
    7. Change the value in Max ASP files cached to approximately 25 percent of the ASP page count (for example, 1,000 ASP pages would need 250 as a default).
  2. Change the Performance settings in the Web site to 100,000+Visits:
    1. Open the MMC and right-click on the Web site.
    2. Click the Performance tab.
    3. Slide the optimization bar to the far right.
  3. The following changes must be made from the command line:
    1. Change the directory to c:\winnt\system32\inetsrv\adminsamples.
    2. Change the default script host to cscript (will save some keystrokes):
      cscript //h:cscript
    3. Change ASPQueueTimeout to 30 sec (defaults to unlimited) by typing the following:
      adsutil set w3svc/1/AspQueueTimeout 30
    4. Set the ServerListenBackLog to 500 (default 40) by typing the following:
      adsutil.vbs set w3svc/1/ServerListenBackLog 500
    5. Change MaxEndPointConnections to 500 (default 100) by typing the following:
      adsutil set w3svc/1/MaxEndPointConnections 500
  4. Open the Registry Editor to make the following changes:
    1. Change ProcessorThreadMax to 14 (hex) (Reg DWord):
      The value is not present by default.
    2. Create the MaxBlocks Registry setting (if not present already):
      HKEY_CLASSES_ROOT\CLSID\{c8b522cb-5cf3-11ce-ade5-00aa0044773d}\Flags "MaxBlock"=dword:00004000
      For more information, click the following article number to view the article in the Microsoft Knowledge Base:
      193026 FIX: NOT_ENOUGH_STORAGE errors in IIS log file
    3. If the scripting host was changed, and if it needs to be changed back to the default (wscript) type the following, and then press ENTER:
      cscript //h:wscript
For best results, it is recommended that consistent monitoring and benchmarking be used. For relatively simplistic analysis, Performance Monitor may be used with the following counters:
  • ASP object: Requests Queued, Requests Executing, Script Engines Cached.
  • Processor object: % Processor Time
  • Memory: Available Bytes
Explanation of counters:
  • Requests Queued displays the current number of ASP pages waiting to execute. It is not unusual for the queue to periodically spike, but should return to a count at or near zero. Queuing may be caused by a resource (Database connection, CPU, and so on) not being available to service the request.
  • Requests Executing displays the current number of ASP pages executing and gives a general idea of site load.
  • Script Engines Cached displays the current number of script engines loaded into memory. If this value is showing the same value as the setting mentioned earlier, it may be increased. It should be increased in stages (50) until the number of engines cached remains below the maximum setting.

    Note Increasing the value will increase the amount of memory used by Internet Information Server.
  • % Processor Time Displays the current processor load.
  • Available bytes Displays available RAM
IIS4 iis 4.0

Article ID: 235461 - Last Review: 10/26/2013 11:42:00 - Revision: 7.0

  • kbnosurvey kbarchive kbhowto KB235461