Home     Products      Support      Corporate     Sign In 
Support Knowledge Base, Article 331
Optimizing ASP Threads for Uploads

If your site seems to slow down during uploads, check your application’s properties to find out if server-side debugging is enabled. Server-side debugging sets ASP to operate in single threaded mode, thereby allowing only one ASP page to be processed at a time.

To find out if server-side debugging is enabled, open the Internet Service Manager (the Microsoft Management Console for IIS) and look at the properties of the application’s virtual directory.

  1. Right-click the virtual directory and select Properties.
  2. Select the Virtual Directory tab.
  3. Click the Configuration button within Application Settings.
  4. Select the Application Debugging tab.
  5. Uncheck “Enable ASP server-side script debugging.”

In general, you should increase the ASP thread pool if all of the following are true.

  • Several uploads are in progress.

    To find out how many threads are available, check ProcessorThreadMax in the registry.

    To monitor uploads,
    1. Open Performance Monitor, and select Add Counter.
    2. Select SoftArtisans FileUp from the drop-down list of objects.
    3. Select Successful Uploads from the list of Counters.
    4. Click Add.

  • The ASP request queue is growing.

    To monitor this queue, using Performance Monitor,
    1. Select Active Server Pages from the drop-down list of objects.
    2. Select Requests Queued from the list of Counters.
    3. Click Add.

  • CPU utilization is at less than fifty percent.

This combination of conditions indicates an inefficient use of resources that is slowing down your site unnecessarily. To correct this, increase the value of the registry key ProcessorThreadMax.

You will find ProcessorThreadMax in the registry at,

In IIS4 ProcessorThreadMax is the fixed number of threads ASP will use in execution. That is, IIS4 will never use more or less threads than this number. In IIS5 this is the maximum number of threads that ASP will use; IIS5 self-times and adjusts the number of threads in use dynamically up to this maximum. Note that for all versions of IIS, the maximum is per processor. Therefore, if ProcessorThreadMax were set to twenty-five on a dual processor machine, fifty ASP threads would be available.

(If ProcessorThreadMax does not exist in your registry, create it at Edit\Add Value. The value name is ProcessorThreadMax, and the data type is REG_DWORD.)

For more information, see Tuning Internet Information Server Performance.

Configuration Info
Created : 12/1/2002 12:00:00 AM (last modified : 8/22/2005 3:09:40 PM)
Rate this article!