Enhancing Performance in Internet Information Server 4.0

ID: Q235461


The information in this article applies to:
  • Microsoft Internet Information Server version 4.0

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SUMMARY

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

  1. Increase the number of script engines cached by performing the following steps:

    1. Open the MMC and right-click on the computer name.


    2. Click Properties.


    3. Click Edit master properties.


    4. Click Configuration (application).


    5. Click Process Options.


    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 from Cache all requested files 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. (Optional)


    3. Change ASP Queue Timeout to 30 sec (defaults to unlimited) by typing "adsutil set w3svc/1/AspQueueTimeout 30."


    4. Set the ServerListenBackLog to 500 (default 200) by typing "adsutil.vbs set w3svc/1/ServerListenBackLog 500."


    5. Change Max End Point Connections to 500 (default 200) by typing "adsutil set w3svc/1/MaxEndPointConnections 500."




  4. Open the Registry Editor to make the following changes:

    WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

    For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).


    1. Change ProcessorThreadMax to 14 (hex) (Reg DWord) HkeyLocalMachine\System\CurrentControlSet\Services\W3svc\Asp\Parameters. The key 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, refer to the following article in the Microsoft Knowledge Base:
      Q193026 PRB: 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:
      cscript //h:wscript<enter>




For best results, it is recommended that consistent monitoring and benchmarking be used. For relatively simplistic analysis, Perfmon 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


Note: This article is based on the Web Server Performance Optimization white paper. For additional information, please refer to this white paper.

Additional query words: IIS

Keywords :
Version : winnt:4.0
Platform : winnt
Issue type : kbhowto


Last Reviewed: October 20, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.