IIS 6.0: Delay in Serving Updated Active Server Pages (332075)
The information in this article applies to:
- Microsoft Internet Information Services
- Microsoft Internet Information Services version 6.0
This article was previously published under Q332075 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: 256986 Description of the Microsoft Windows Registry SYMPTOMSWhen you update a lot of Active Server Pages (ASP) content
on a Web site that is served by Internet Information Services (IIS) 6.0, a
delay may occur before users who view your site receive the updated content.
CAUSE IIS 6.0 uses a new process when a lot of ASP content is
updated. This new process improves performance, but it may also cause an
expired template (resulting in an expired page) to be served while the new
template is being compiled. MORE INFORMATION"Lazy propagation" is the term that describes the action
that IIS 6.0 takes when a lot of ASP content is updated at the same time. IIS
has an internal limit of how much content can be updated in the in-memory
template cache.
ASP uses an internal buffer to hold change
notifications from the file system as the content is changed. During updates of
a lot of content, this buffer limit can be exceeded and change notifications
for files cannot be stored in the buffer.
With lazy propagation, if
the size of the updated content exceeds this limit, IIS marks each of the files
in the in-memory template cache as not valid. On the first request to a file
that is not valid, IIS begins to compile a new template, but the expired
template is served and continues to be served until the new template has been
compiled.RESOLUTIONWARNING: 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.
You can use a registry setting to force IIS 6.0
to flush the in-memory template cache when this occurs. Each new request to the
server forces IIS to compile new templates. This causes the updated content to
be served, but has a marked effect on performance while the new templates are
compiled. To disable lazy propagation:
- Click Start, click Run,
type regedt32, and then press ENTER to start Registry
Editor.
- Double-click
HKEY_LOCAL_MACHINE.
- Double-click SYSTEM.
- Double-click CurrentControlSet.
- Double-click Services.
- Right-click ASP, click
New, and then click Key.
- Type Parameters as the name for the
new key.
- Right-click the newly created Parameters
key, click New, and then click DWORD Value.
You now seeNew Value #1.
- Right-click New Value #1, and then select
Rename. Type
DisableLazyContentPropagation for the name.
- Right-click DisableLazyContentPropagation,
and then click Modify. For Value data, type
1to disable the new behavior. For Base
Options, click Decimal.
Modification Type: | Major | Last Reviewed: | 4/16/2003 |
---|
Keywords: | kbpending kbprb KB332075 |
---|
|