Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>My guess would be that you have some kind of <strong>race condition</strong> that is showing up only with a larger number of clients. What concurrency and instancing modes are you using for your WCF service? (See MSDN: WCF Sessions, Instancing, and Concurrency at <a href="http://msdn.microsoft.com/en-us/library/ms731193.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms731193.aspx</a>)</p> <p>If you're "losing" responses the first thing I would do is start <strong>logging or tracing</strong> what's happening at the server. For instance, when a client "doesn't see" a response, is the server ever getting a request? (If so, what happens to it, etc etc.) </p> <p>I would also keep an eye on <strong>memory usage</strong> -- you don't say what OS you're using, but 512 MB is awfully skinny these days. If you ever get into a swap-to-disk situation, it's clearly not going to be a good thing. </p> <p>Lastly, assuming that your service is CPU-bound (i.e. no heavy database &amp; filesystem calls), the best way to <strong>raise your throughput</strong> is probably to reduce the message payload (wire size), use the most performant bindings (i.e. if client is .NET and you control it, NetTcp binding is much faster than HTTP), and, of course, multithread your service. IMHO, with the info you've provided -- and all other things equal -- polling is probably fine and pushing might just make things more complex. If it's important, you really want to bring a true engineering approach to the problem and identify/measure your bottlenecks. </p> <p>Hope this helps!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload