I'm working with an old WinForms app that uses WSE 3 to call a Java web service on a remote server.
The app performs a load test by running a number of requests on a configurable number of threads.
When running with one thread, 50 requests complete in 50 seconds and the time spent on each request is 1 second, plus or minus a small amount.
When I increase the number of threads to 5, with the same total of 50 requests (10 per thread), the total time spent processing is still 50 seconds but the average time spent per request varies from 1 second to around 6 seconds.
The Java web service handles hundreds of simultaneous requests in production (I'm testing this in a sandbox, but same software on similar hardware).
This leads me to suspect that network IO requests are being serialized on the client somehow. My understanding is that the following snippet from the client's app.config should ensure up to 40 concurrent outbound connections are allowed:
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="40" />
</connectionManagement>
</system.net>
</configuration>
Is my understanding correct? Is there something else that might be causing a network IO bottleneck?