I compare the stand-alone hosting of the nettcp WCF service, making requests from 50 threads to a service located on more than one computer. The problem is that the processor load never exceeds 35% on the Xeon E3-1270. When I run the same test on a dual-core laptop, it reaches 100%.
The WCF method does nothing, so it should not be limited to IO. I tried to increase the number of threads, but this does not help. Each thread creates a service channel and makes thousands of calls reusing this channel instance.
Here is the class of service that I use:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)] public class TestService : ITestService { public void Void() {
Configs:
ServiceThrottlingBehavior: MaxConcurrentCalls = 1000 MaxConcurrentInstances = 1000, MaxConcurrentSessions = 1000
NetTcpBinding ListenBacklog = 2000 MaxConnections = 2000
source share