2

We are having trouble controlling a long running process that uses WCF to send start/stop commands.

The problem seems to be that WCF does not respond to the requests when the CPU load is high. Unfortunately, high CPU on as many cores as possible is necessary for the application in question as it needs to perform a large number of numeric calculations.

Could the problem be related to the use of the thread pool to dispatch requests in WCF? This (somewhat dated) link suggests that it could:

"we don't spin up new threads when CPU usage is higher than 80%"

Thomas Bratt
  • 48,038
  • 36
  • 121
  • 139
  • The question is entirely about the server. So the server process is listening for the start/stop commands and also running as many dedicated (non-thread pool) threads as there are cores to do the numeric processing. Defaults are used for the thread pool and GC configuration. Let me know if I'm missing something else :) – Thomas Bratt Feb 05 '11 at 13:31
  • Did you ever get to the bottom of this? – Larsenal Jun 27 '11 at 08:05
  • Me neither. In my similar situation, I just added more CPUs. – Larsenal Jul 13 '11 at 21:15

1 Answers1

0

WCF has throttling mechanism that regulates the number of concurrent connections/sessions.

If your performance tests indicate that server can process more requests albeit having considerable load you can try to tune throttling parameters of WCF.

Here's the link with related information

Vadym Stetsiak
  • 1,974
  • 18
  • 22