Here’s some additional information concerning my previous post on fixing some thread pool errors. After implementing that fix, we ran a file that created over 100 concurrent instances. Well, the MaxIOThreads and MaxWorkerThreads were both set to 100, so we got some thread pool errors again. When I first researched that solution everything I saw said to set both of those to 100 and the internals of the server would multiply that out for multi-proc boxes. So set at 100 for a 4 proc box you would end up with 400 threads.
I haven’t spent a lot of time confirming this, but it looks like that’s not right. It looks like that setting is not per proc. Maybe it is for ASP.NET which uses the machine.config and is pretty much what all the documentation on these settings is based on, but BizTalk doesn’t. I bumped both values up to 400 (4 proc) and the thread issue went away.
As a side note, I really need to look at another facet to make sure when we get a file that causes over 400 concurrent we aren’t screwed. Maybe some type of loop that handles 100 at a time. I don’t know.