> Remoting calls are serviced on the threadpool, and I have seen thread
> starvation before. That being said, I can't remember if there was a
[quoted text clipped - 3 lines]
> sounds like your remoting interface is a little chatty. (unless, of
> course, you have 50 clients accessing it at one call per second <g>)
We have currently more than 400 clients concurrently connected to the
service and sometimes we go over 70 calls second. It's a huge amount clearly
but before starting a split of the services i want to know if I m really
reaching a limit or if I still have something to do to solve the current
issue. I had myself not see a limit somewhere in the doc and before we reach
that huge amount of clients we had never facing that kind of issue (hopefully
for us, the amount of clients still increasing ;-) ).
Doug Semler - 05 Sep 2007 17:02 GMT
> > Remoting calls are serviced on the threadpool, and I have seen thread
> > starvation before. That being said, I can't remember if there was a
[quoted text clipped - 11 lines]
> that huge amount of clients we had never facing that kind of issue (hopefully
> for us, the amount of clients still increasing ;-) ).
I would watch the .NET CLR performance counters and the TCP
performance counters (and maybe your Process's counters) to see if
there's anything that sticks out to you.
Also, run a netstat -a the machines. I'm wondering if you haven't hit
the limit of socket connections, and you have a bunch that are in the
TIME_WAIT state...I can't remember offhand the socket allocation
that .NET uses for remoting, but the default limit is something like
4000, and the default TIME_WAIT timeout is something like 120 seconds,
which means that once you hit the limit you can basically start
openning about 33 connections per second...
(more info: http://support.microsoft.com/kb/Q149532)