Q235461: Enhancing Performance in Internet Information Server 4.0
Article: Q235461
Product(s): Internet Information Server
Version(s): 4.0
Operating System(s):
Keyword(s):
Last Modified: 11-JUN-2002
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Internet Information Server version 4.0
-------------------------------------------------------------------------------
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:
Q256986 Description of the Microsoft Windows Registry
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:
a. Open the MMC and right-click on the computer name.
b. Click Properties.
c. Click Edit master properties.
d. Click Configuration (application).
e. Click Process Options.
f. Change the value in Script Engines cached to 100. Setting this value
higher than 250 will show only marginal results.
g. 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:
a. Open the MMC and right-click on the Web site.
b. Click the Performance tab.
c. Slide the optimization bar to the far right.
3. The following changes must be made from the command line:
a. Change the directory to c:\winnt\system32\inetsrv\adminsamples.
b. Change the default script host to cscript (will save some keystrokes):
cscript //h:cscript. (Optional)
c. Change ASP Queue Timeout to 30 sec (defaults to unlimited) by typing
"adsutil set w3svc/1/AspQueueTimeout 30."
d. Set the ServerListenBackLog to 500 (default 200) by typing "adsutil.vbs
set w3svc/1/ServerListenBackLog 500."
e. 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: If you use Registry Editor incorrectly, you may cause serious problems
that may require you to reinstall your operating system. Microsoft cannot
guarantee that you can solve problems that result from using Registry Editor
incorrectly. Use Registry Editor at your own risk.
a. Change ProcessorThreadMax to 14 (hex) (Reg DWord)
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Services\W3svc\Asp\Parameters.
The value is not present by default.
b. 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
c. 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 following whitepaper:
Web Server Performance Optimization
For additional information, click the article number below to view the article in
the Microsoft Knowledge Base:
Q229814 Configuring IIS to Handle Heavy Usage
Additional query words: IIS
======================================================================
Keywords :
Technology : kbiisSearch kbiis400
Version : :4.0
Issue type : kbhowto
=============================================================================
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 1986-2002.