9

I have been building a client / server app with Silverlight, web services, and polling. Apparently I missed the whole Duplex Communication thing when I was first researching this subject. At any rate, the MSDN article I saw on the subject was promising.

When researching the scalability, it appears as if there's conflicting opinions on the subject.

silverlight.net/forums/t/89970.aspx - This thread seems to indicate that the duplex polling only supports a finite amount of concurrent clients on the server end.

dotnetaddict.dotnetdevelopersjournal.com/sl_polling_duplex.htm - This blog entry shows up in multiple places, so it muddies waters.

silverlight.net/forums/t/108396.aspx - This thread shows that I'm not the only one with this concern, but there are no answers in it.

silverlight.net/forums/t/32858.aspx - Despite all the bad press, this thread seems to have an official response saying the 10 concurrent connections is per machine.

In short, does anyone have facts / benchmarks?

Thanks :)

JustLoren
  • 3,224
  • 3
  • 27
  • 34
  • An other issue I faced with on Silverligth 4 Polling Duplex and IIS [WCF Silverlight client getting 404 not found response for poll message](http://stackoverflow.com/q/13838777/485076) – sll Dec 26 '12 at 11:17

4 Answers4

6

This is my understanding of this, but I haven't done tests.

There is an inbuilt 10 connection limit on non-server operating systems (XP/Vista/Windows 7). On IIS 6 (XP) it will reject new connections once there are 10 in progress. On II7 (Vista/Windows 7) it will queue connections once there are 10 in progress. I think this means that 10 simultaneous connections are out.

On the server OS side (2003/2008), there is no connection limit. However, on IIS6 (2003) each long running connection will take a thread from the threadpool, so you will run into a connection limit pretty quickly. On IIS7 (2008), async threads get suspended in a way that does not use up a thread, so 1000s of connections should be possible.

mcintyre321
  • 12,996
  • 8
  • 66
  • 103
5

Scalability of the WCF backend using the protocol in a web farm scenario is discussed at http://tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html.

Tomasz Janczuk
  • 3,220
  • 21
  • 19
  • I faced an other scalability issue when using Silverligth 4 Polling Duplex and IIS, basically observes failures when using multiple wroker processes per AppPoll - [WCF Silverlight client getting 404 not found response for poll message](http://stackoverflow.com/q/13838777/485076), perhaps this can be solved without implementing MC protocol? – sll Dec 26 '12 at 11:19
1

There are WCF built-in limits. However these limits can be very easily extended through configuration. (http://weblogs.asp.net/alexeyzakharov/archive/2009/04/17/how-to-increase-amount-of-silverlight-duplex-clients.aspx)

I'm running into a few issues with the duplex binding. From time to time the channel gets faulted for no apparent reason and has a hard time reconnecting. I'm not aware of any alternatives to implement a push model, short of doing everything yourself (and maybe get even worst results).

R4cOOn
  • 2,340
  • 2
  • 30
  • 41
0

Performance of the Silverlight HTTP polling duplex protocol and tuning of a WCF service in IIS is discussed at http://tomasz.janczuk.org/2009/08/performance-of-http-polling-duplex.html.

Tomasz Janczuk
  • 3,220
  • 21
  • 19