Question

I have a WCF service that is consumed by a website like SO. It is general QnA website that can be used by anyone around the World and so its WCF service. I tried WSHttpBinding, but it is lacking performance and my website is going down many times. I know it can be server issue, but I want to know if there is something else can be done at WCF configuration level. Not much but at least some performance can be increased.

Also, I am trying to switch to netTcpBinding, but I researched and found that netNamedPipeBinding is much better for performance. Please tell me which binding should I use for a website like SO?

No correct solution

OTHER TIPS

Since your client is .NET, NetTcp will generally give you the best performance, as "The WCF TCP transport is optimized for the scenario where both ends of the communication are using WCF. This binding is the fastest WCF binding for scenarios that involve communicating between different machines." See Choosing a Transport for more information on MSDN.

In that same article, TCP is one of the recommended transports when latency, reach, security, throughput and/or tooling are decision points in the design.

If your data repository is on the same machine as the web site (not a good design practice) you can use named pipes as well.

Also see this question and the answers/comments for some further information.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top