.NET thread pooling problem

  • Thread starter Thread starter Gary
  • Start date Start date
G

Gary

Hi,
I am developing a remote server application. this has to be service
multiple requests at the same time. This is currently being done using the
..Net thread pool.

I have no problems with upto 25 clients accessing my server. After
that I get an exception on the server , that the system is "unable to find a
free thread to complete the requested operation".

I know that .Net specifies a default setting of 25 worker threads
and 25 IO threads, these defaults are specified in machine.config. But even
by changing these parameters I am not being able to move beyond the limit of
25 simultaneous requests. I have also restarted my system after changing
these parameters, but there is no change in behaviour. We are also printing
to console, the number of WorkerThreads and RequestQueue by using
ThreadPool.GetMaxThreads, but this prints 25 , 25 for both of these even
after changes to the config file. We have also tried to configure the
minFreeThreads , minLocalRequestFreeThreads and appRequestQueueLimit, but
there is no change in behaviour.

Why is the .Net thread pool not queueing the request if there are no
free threads available? Is there a way to ensure this happens ? Also, what
is the method of definitely increasing the thread pool size?

Note: I am using .Net framework version 1.03.

Any help would be highly appreciated.

TIA,

Gary
 
How long does a reqeust take to complete? If a request has finished, his
"ThreadPool - Thread" shall be available to a waiting request that is queued
in ThreadPool.
 
Back
Top