Microsoft KB Archive/332075

= IIS 6.0: Delay in Serving Updated Active Server Pages =

Article ID: 332075

Article Last Modified on 12/3/2007

-

APPLIES TO


 * Microsoft Internet Information Server 1.01
 * Microsoft Internet Information Services 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



SYMPTOMS
When 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
&quot;Lazy propagation&quot; 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.



RESOLUTION
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.

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:
 * 1) Click Start, click Run, type regedt32, and then press ENTER to start Registry Editor.
 * 2) Double-click HKEY_LOCAL_MACHINE.
 * 3) Double-click SYSTEM.
 * 4) Double-click CurrentControlSet.
 * 5) Double-click Services.
 * 6) Right-click ASP, click New, and then click Key.
 * 7) Type Parameters as the name for the new key.
 * 8) Right-click the newly created Parameters key, click New, and then click DWORD Value. You now seeNew Value #1.
 * 9) Right-click New Value #1, and then select Rename. Type DisableLazyContentPropagation for the name.
 * 10) Right-click DisableLazyContentPropagation, and then click Modify. For Value data, type 1 to disable the new behavior. For Base Options, click Decimal.

Additional query words: iis 5

Keywords: kbprb kbpending KB332075

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.