简体   繁体   English

使用Silverlight / IIS进行双工轮询的可扩展性

[英]Scalability of Duplex Polling with Silverlight / IIS

I have been building a client / server app with Silverlight, web services, and polling. 我一直在使用Silverlight,Web服务和轮询构建客户端/服务器应用程序。 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. 无论如何,我在这个主题上看到的MSDN文章很有希望。

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 . silverlight.net/forums/t/89970.aspx - 此线程似乎表明双工轮询仅支持服务器端的有限数量的并发客户

dotnetaddict.dotnetdevelopersjournal.com/sl_polling_duplex.htm - This blog entry shows up in multiple places, so it muddies waters. dotnetaddict.dotnetdevelopersjournal.com/sl_polling_duplex.htm - 这个博客条目出现在多个地方,所以它混淆了水域。

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/108396.aspx - 这个帖子表明我并不是唯一有这种担忧的人,但是没有答案。

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 . silverlight.net/forums/t/32858.aspx - 尽管所有的坏消息,这个线程似乎有一个官方的回应说10个并发连接是每台机器

In short, does anyone have facts / benchmarks? 简而言之,有没有人有事实/基准?

Thanks :) 谢谢 :)

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). 在非服务器操作系统(XP / Vista / Windows 7)上有一个内置的10连接限制。 On IIS 6 (XP) it will reject new connections once there are 10 in progress. 在IIS 6(XP)上,一旦有10个正在进行,它将拒绝新连接。 On II7 (Vista/Windows 7) it will queue connections once there are 10 in progress. 在II7(Vista / Windows 7)上,一旦有10个正在进行,它将排队连接。 I think this means that 10 simultaneous connections are out. 我认为这意味着10个同时连接已经出局。

On the server OS side (2003/2008), there is no connection limit. 在服务器OS端(2003/2008),没有连接限制。 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. 但是,在IIS6(2003)上,每个长时间运行的连接都将从线程池中获取一个线程,因此您将很快遇到连接限制。 On IIS7 (2008), async threads get suspended in a way that does not use up a thread, so 1000s of connections should be possible. 在IIS7(2008)上,异步线程以不占用线程的方式挂起,因此应该有1000个连接。

http://tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html中讨论了使用Web场方案中的协议的WCF后端的可伸缩性。

There are WCF built-in limits. 有WCF内置限制。 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 ) 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). 我不知道有任何替代方法来实现推送模型,而不是自己做所有事情(甚至可能得到最差的结果)。

http://tomasz.janczuk.org/2009/08/performance-of-http-polling-duplex.html中讨论了Silverlight HTTP轮询双工协议的性能以及IIS中WCF服务的调优。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM