ASP Caching May Cause "Server Too Busy" Errors and Blank Pages
The information in this article applies to:
Microsoft Internet Information Server version 4.0
SYMPTOMS
ASP caching in low memory situations may cause "Server Too Busy" errors and/or blank pages returned to client browsers. Memory usage by the Inetinfo process will be very high.
CAUSE
This problem occurs because too much data is being cached and the default number of ASP files to cache is set to unlimited in Internet Information Server (IIS) 4.0. ASP attempts to cache ASP files until the process runs out of virtual memory. The IIS computer stops processing pages and returns the "Server Too Busy" error or blank pages to client browsers.
Note that there are other causes of the "Server Too Busy" errors.
RESOLUTION
A supported fix that corrects this problem is now available from Microsoft, but it has not been fully regression tested and should be applied only to systems experiencing this specific problem. If you are not severely affected by this specific problem, Microsoft recommends that you wait for the next service pack that contains this fix.
To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:
http://support.microsoft.com/support/supportnet/default.aspThe English version of this fix should have the following file attributes or later:
Date Time Size File Name Platform
-------------------------------------------------------------
02/15/99 04:06p 28,224 admwprox.dll (x86)
02/15/99 04:08p 328,000 asp.dll (x86)
02/15/99 04:09p 33,872 clusiis4.dll (x86)
02/15/99 04:06p 43,456 coadmin.dll (x86)
02/15/99 04:10p 70,432 convlog.exe (x86)
02/15/99 04:08p 81,376 ftpsvc2.dll (x86)
02/15/99 04:07p 55,392 httpodbc.dll (x86)
02/15/99 04:09p 65,664 iisclex4.dll (x86)
02/15/99 04:06p 61,920 iislog.dll (x86)
02/15/99 04:06p 24,288 inetsloc.dll (x86)
02/15/99 04:07p 184,208 infocomm.dll (x86)
02/15/99 04:06p 47,936 isatq.dll (x86)
02/15/99 04:06p 29,520 iscomlog.dll (x86)
02/15/99 04:07p 11,248 iwrps.dll (x86)
02/15/99 04:09p 32,000 myinfo.dll (x86)
02/15/99 04:07p 227,424 w3svc.dll (x86)
02/15/99 04:07p 87,504 wam.dll (x86)
02/15/99 04:07p 50,448 admwprox.dll (Alpha)
02/15/99 04:09p 548,624 asp.dll (Alpha)
02/15/99 04:09p 53,520 clusiis4.dll (Alpha)
02/15/99 04:07p 77,072 coadmin.dll (Alpha)
02/15/99 04:10p 126,736 convlog.exe (Alpha)
02/15/99 04:08p 126,224 ftpsvc2.dll (Alpha)
02/15/99 04:08p 89,360 httpodbc.dll (Alpha)
02/15/99 04:09p 114,960 iisclex4.dll (Alpha)
02/15/99 04:07p 110,864 iislog.dll (Alpha)
02/15/99 04:07p 43,792 inetsloc.dll (Alpha)
02/15/99 04:07p 302,864 infocomm.dll (Alpha)
02/15/99 04:07p 82,704 isatq.dll (Alpha)
02/15/99 04:07p 45,840 iscomlog.dll (Alpha)
02/15/99 04:08p 16,656 iwrps.dll (Alpha)
02/15/99 04:09p 58,128 myinfo.dll (Alpha)
02/15/99 04:08p 381,712 w3svc.dll (Alpha)
02/15/99 04:08p 149,264 wam.dll (Alpha)
NOTE: If this product was already installed on your computer when you purchased it from the Original Equipment Manufacturer (OEM) and you need this fix, please call the Pay Per Incident number listed on the above Web site. If you contact Microsoft to obtain this fix, a fee may be charged. This fee is refundable if it is determined that you only require the fix you requested. However, this fee is non-refundable if you request additional technical support, if your no-charge technical support period has expired, or if you are not eligible for standard no-charge technical support.
For more information about eligibility for no-charge technical support, see the following article in the Microsoft Knowledge Base:
Q154871 Determining If You Are Eligible for No-Charge Technical Support
STATUS
Microsoft has confirmed this to be a problem in Internet Information Server version 4.0.
MORE INFORMATION
ASP has been modified to flush the cache when it receives an "Out of Memory" error. This enables it to recover gracefully. Please see the following paragraphs for information on how to do additional tuning of the ASP cache, so that it does not flush the ASP cache frequently, thus nullifying the benefits of caching.
Tune the AspScriptFileCacheSize (the number of ASP files to cache) settings for IIS. This setting is documented in IIS Help. The settings depend on a number of factors, including the amount of data in the server- side Include files and the number of ASP files that are cached. It is reasonable to start with a number like 250, and then monitor the ASP cache hit ratio using Performance Monitor. If it is below 90 percent, then raise the number. If it is above 90 percent, then any changes to the Web's pages can and will most likely change the tuning parameters.
To change the ASP process options, do the following:
1. Open the IIS MMC.
2. Right-click on the computer name for the IIS computer.
3. Edit the master properties for the WWW Service.
4. Click the Home Directory tab.
5. Click the Configuration button.
6. Click the Process Options tab.
7. Modify the settings in the Script File Cache group.
NTDLL may not efficiently use the virtual address space, which causes the processes to run out of memory sooner. Apply the fix listed in the following article in the Microsoft Knowledge Base:
Q216383 Memory Allocations May Fail When There Are Large Free Blocks
Some improvement can be made by increasing the per-process address space from 2 GB to 3 GB. For additional information, please see the following article in the Microsoft Knowledge Base:
Q171793 Information on Application Use of 4GT RAM Tuning
Note that more physical RAM may be required to reduce possible paging after this change is made.
Redesign the Web application.
Disable ASP caching.
Additional query words: 4.00
Keywords :
Version : winnt:4.0
Platform : winnt
Issue type : kbbug
Solution Type : kbfix