Answered by:
WCF service hosted in IIS

Question
-
Hi,
We are doing a performance test on our WCF 4.0 service hosted in IIS 6. We are using Windows Server 2003. The load test send multiple requests to our service, however as the load increases there is a delay of 3 - 4 minutes between the time request leaves load test environment and when it reaches wcf service. We found this out using wcf service logs. I think our bottleneck is IIS so we would like to know how can we log more data about the requests arriving at IIS? Currently the logs located at c:\windows\system32\logfiles don't give us much information. We need to see the information like session-id, user info that we are sending to the WCF service in IIS logs. How can we do that?
Thanks
Amare
Friday, June 15, 2012 7:02 AM
Answers
-
Since you're only using IIS6 then your requests are limited to HTTP if memory serves correctly.
Have you considered the connectionManagment on the client, which limited the amount of simultaneous outbound HTTP requests.
<configuration> <system.net> <connectionManagement> <add address = "http://www.your-wcf-domain.com" maxconnection = "4" /> <add address = "*" maxconnection = "2" /> </connectionManagement> </system.net> </configuration>
and the WCF service throttling to increase your throughput
<serviceThrottling maxConcurrentCalls="100" maxConcurrentInstances="100" maxConcurrentSessions="100"/>
Andy
- Marked as answer by Amare1982 Tuesday, June 19, 2012 5:09 AM
Friday, June 15, 2012 11:25 AM
All replies
-
Since you're only using IIS6 then your requests are limited to HTTP if memory serves correctly.
Have you considered the connectionManagment on the client, which limited the amount of simultaneous outbound HTTP requests.
<configuration> <system.net> <connectionManagement> <add address = "http://www.your-wcf-domain.com" maxconnection = "4" /> <add address = "*" maxconnection = "2" /> </connectionManagement> </system.net> </configuration>
and the WCF service throttling to increase your throughput
<serviceThrottling maxConcurrentCalls="100" maxConcurrentInstances="100" maxConcurrentSessions="100"/>
Andy
- Marked as answer by Amare1982 Tuesday, June 19, 2012 5:09 AM
Friday, June 15, 2012 11:25 AM -
Hi AFurnival,
Thanks. We will be trying that tomorrow. But I think, we have the following two already:
<add address = "*" maxconnection = "2" />
<serviceThrottling maxConcurrentCalls="100" maxConcurrentInstances="100" maxConcurrentSessions="100"/>
As soon as the WCF service gets the message, it processes it very quickly but there is a delay between request leaving the load test environment and reaching the WCF service.
Thanks for the help.
Amare
Sunday, June 17, 2012 10:26 AM -
Thanks for your time AFurnival but the IIS problem we were unable to resolve. So we made a design change and finally it works now.
- Proposed as answer by vsha041 Thursday, September 13, 2012 4:59 AM
Tuesday, June 19, 2012 5:10 AM