Can anyone please tell me why my app's performance under WCF is so poor?

  • Thread starter Thread starter Ronald S. Cook
  • Start date Start date
R

Ronald S. Cook

Performance in our WCF application is very poor now that we've added a
number of records to tables (not an unrealistic number, though). After
doing that, we did get "max message size" errors to I bumped that number to
99999999 (see below).

Can anyone please tell me if (1) my config files below look ok, and (2) you
have any other ideas why things might be so slow?

Thanks VERY much for any feedback,
Ron

---------------------------------------------------------------
The App.config in our client looks like this:
---------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="mexBinding" maxReceivedMessageSize="99999999">
<security mode="None"/>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint
address="http://BOUCSDEV01:888/COWFeedyardService/Services/Address.svc"
binding="wsHttpBinding" bindingConfiguration="mexBinding"
contract="IAddress" />
<endpoint
address="http://BOUCSDEV01:888/COWFeedyardService/Services/Age.svc"
binding="wsHttpBinding" bindingConfiguration="mexBinding" contract="IAge" />
<endpoint
address="http://BOUCSDEV01:888/COWFeedyardService/Services/Animal.svc"
binding="wsHttpBinding" bindingConfiguration="mexBinding" contract="IAnimal"
/>
</client>
</system.serviceModel>
</configuration>

---------------------------------------------------------------
The Web.config in our service looks like this:
---------------------------------------------------------------

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="mexBinding" maxReceivedMessageSize="99999999">
<security mode="None"/>
</binding>
</wsHttpBinding>
</bindings>
<services>
<!-- Address -->
<service name="FRC.COW.Feedyard.Service.FRC.COW.Feedyard.Service.Address"
behaviorConfiguration="AddressBehavior">
<endpoint address="" binding="wsHttpBinding"
bindingConfiguration="mexBinding"
contract="FRC.COW.Feedyard.Service.FRC.COW.Feedyard.Service.IAddress"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding"
address="mex" />
</service>
<!-- Age -->
<service name="FRC.COW.Feedyard.Service.FRC.COW.Feedyard.Service.Age"
behaviorConfiguration="AgeBehavior">
<endpoint address="" binding="wsHttpBinding"
bindingConfiguration="mexBinding"
contract="FRC.COW.Feedyard.Service.FRC.COW.Feedyard.Service.IAge"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding"
address="mex" />
</service>
<!-- Animal -->
<service name="FRC.COW.Feedyard.Service.FRC.COW.Feedyard.Service.Animal"
behaviorConfiguration="AnimalBehavior">
<endpoint address="" binding="wsHttpBinding"
bindingConfiguration="mexBinding"
contract="FRC.COW.Feedyard.Service.FRC.COW.Feedyard.Service.IAnimal"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding"
address="mex" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<!-- Address -->
<behavior name="AddressBehavior" >
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<!-- Age -->
<behavior name="AgeBehavior" >
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<!-- Arrival -->
<behavior name="ArrivalBehavior" >
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
 
have you profiled your application at all? there are many free and good tools
out there to investigate application bottlenecks.

HTH

Ollie Riches
 
Back
Top