Long Term HttpWebRequests

I have an ASP.NET web application running on an IIS6 server. An application creates potentially long xml service calls on a remote machine. Some service calls on a remote machine are time consuming (sometimes up to 4 minutes). A long-term solution would be to make calls asynchronous, but as a short-term solution, we want to increase the call timeout and the overall httpRequest timeout.

My fear in this is that long calls will fill the request queue and prevent the completion of the "normal" page requests. How to configure the server, IIS and application settings to temporarily fix the problem?

There are currently about 200 page requests / min, and this results in 270 service requests / min.

  • Current execution Timeout is 360 (6 minutes)
  • The waiting time for the current service call is 2 minutes.
+5
source share
1 answer

In this article, we will talk about the Microsoft Knowledge Base, which contains almost all the information you may need:

* Conflict, poor performance, and deadlocks when executing web service requests from ASP.NET applications

<h / "> I will give you some research that I have done regarding some of the specific elements discussed in the article above. This information below is applicable to IIS6, comments for IIS7, where applicable.

Increase the pool of threads of the processor workflow from 25 to at least 100

Threadpool 100, autoConfig .

autoConfig:

  • maxWorkerThreads
  • maxIoThreads
  • maxConnection

, 25, - ASPProcessorThreadMax, IIS ( adsutil) IIS6. [ IIS7 - processorThreadMax]

, machine.config, , , autoconfig, ASPProcessorThreadMax 25 100 IIS ( ).

.

cscript %SYSTEMDRIVE%\Inetpub\AdminScripts\<nowiki>adsutil.vb</nowiki>s SET W3SVC/AspRequestQueueMax 100

autoconfig 12 * cpus, , .

:

,

:

  • perfmon
  • :   / ASP.NET

, - .

,

  • IIS
  • , IIS.
  • , , → , .
  • .
+7

All Articles