Microsoft KB Archive/884372

= A WebDAV thread pool limitation exists in IIS 5.0 =

Article ID: 884372

Article Last Modified on 3/23/2007

-

APPLIES TO


 * Microsoft Internet Information Services 5.0

-





INTRODUCTION
World Wide Web Distributed Authoring and Versioning (WebDAV) is an extension to the HTTP protocol that allows for remote authoring and management of Web content. In the Microsoft Windows 2000 implementation of the protocol, Microsoft Internet Information Services (IIS) 5.0 performs the initial processing of all WebDAV requests. IIS then forwards the appropriate commands to the WebDAV process. This article discusses the five-thread pool limitation that exists in WebDAV when WebDAV handles file completions for PUT requests.



MORE INFORMATION
In IIS 5.0, completion and cleanup in WebDAV PUT requests are handled by a pool of five threads. The file writing completions run asynchronously. If more than five write calls exist at the same time, a HTTP 500 &quot;Server too busy&quot; error message is returned, and the request does not go in the queue. This limitation is per physical server (that is, per Inetinfo.exe process). It cannot be changed. The limitation is not on the number of PUT requests. The limitation is only on the file completion write calls of each PUT request.

The thread pool is used to watch for file writing completions. All other WebDAV operations are performed on the thread that IIS assigns to the WebDAV request. Only completion and cleanup operations, such as the release of the file handle, are performed in the thread pool. The thread pool does significantly more work when an input/output operation is complete. If the input/output operation is not complete, the thread pool examines the state of the input/output operation and continues to the next PUT request. The five-thread limitation only occurs when five requests occur at the same time and the five requests take a long time to complete the write calls.

