Thread pool starvation? - Kri |
05-Mar-07 03:25:02
|
Hello All,
We have an external system within our company lets calls it Ext_1, which
submits SOAP requests to our BizTalk server. An orchestration lets call it
Orch1, comes to life which runs on a different host instance than the SOAP
adapters host instance, inserts stuff in to tables from the request which was
given by Ext_1. Orch1 then reponds with a success or failure back to Ext_1.
Now here is the issue we are facing, almost all the time life seems to be
good. Ext_1 sends requests Orch1 inserts stuff and gets back to it within 30
seconds (which is the agreement between Ext_1 and BizTalk). But once in a
while Orch1 does not seem to respond to Ext_1 within the 30 second period and
Ext_1 rolls back.
settings:
1)The host instance on which Orch1 runs has the following "CLR Hosting"
settings in registry
MaxWorkerThreads 200
MinCompletionPortThreads 100
MinWorkerThreads 100
2) Orch1's receive location and send locations for SOAP request and response
are tied to pass through receive and send pipelines correspondingly.
Observation:
When Orch1 cannot get back to Ext_1 within 30 seconds, the request fromt
Ext_1 is received by the pass through receive pipeline, it is completed in
milliseconds. There was atleast one instance where there was a 15 second
difference from the time the receive pipeline completed and the host instance
for Orch1 started Orch1 to process the request.
Following are my questions:
1)Why did Orch1's host instance take 15 seconds to process the request
submitted to its queue?
2)Are the above CLR settigns affecting this in any way?
Any help / advice would be greatly appreciated.
Thanks in advance,
KriS |
 |
| |