0

我们的应用需要即时通知,所以很明显我应该使用一些 WCF 双工或套接字通信。问题是应用程序是部分信任 XBAP,因此我不允许使用除 BasicHttpBinding 之外的任何东西。因此,我需要轮询更改。

问题来了:我的 PM 说更新间隔应该是 2 秒左右,并且在单个 Web 服务器上的具有 500 个用户的 Intranet 上运行。

你们中是否有人体验过轮询会如何影响 Web 服务器。

该服务非常简单,它将一个 guid 作为 arg,并返回一个 guid 列表。所有数据访问都被缓存,所以我猜服务器上的负载对于一次调用来说是最小的,但是对于 500 ......

除了轮询之外,网络服务器几乎没有工作。

那么,基于这个小信息(假设一个标准的服务器硬件,不管是什么),是否有可能做出一个合格的猜测?

  • 是否有可能实现这一点,它会起作用吗?

是的,我知道估计这很困难,但如果你们中的一些人能就此分享一些想法,我会非常高兴

问候

拉尔西

4

5 回答 5

1

不要估计,基准。

于 2009-01-07T21:32:56.990 回答
0

尝试使用web 服务测试工具soapu i 来检查您的 web 服务的性能。有付费版本和免费的开源版本。

干杯

于 2009-01-07T20:52:55.607 回答
0

我不认为这将是一个特别的问题。我想每个请求的响应时间会很短,除非你要撤回大量数据,所以 2 秒内分布的 500 个连接不应该太严重。

在提交此设计之前,您可以使用压力测试工具来验证您的网络服务器是否可以处理负载。

于 2009-01-07T20:54:04.917 回答
0

如果您确实尽量减少来回发送的数据,那么 250 qps 可能在相当适中的硬件和网络带宽下是可行的。我假设您正在客户端上缓存这些 GUID 列表,因此您可以在正常情况下发送一个小的“无更新”响应。

用一个简单的原型应该很容易测量,但更自信。

于 2009-01-07T20:58:50.320 回答
0

轮询.. 不好,但如果你别无选择,那么它是理想的 :)

请记住,毫无疑问,您将启用 keep-alives,因此您将拥有 500 个永久连接的用户。其内存使用量可能比处理器使用量更重要。我无法想象网络访问(即使在相对臃肿的 Web 服务中)会占用大量网络容量,但是您的网络延迟可能会成为一个问题——尤其是当我们都看到 Web 应用程序“暂停”一段时间时。

最后,你可能会没事,但你必须自己检查一下。Web服务压力测试器有很多,你可以使用微软的WAS工具,这里有一些其他的链接

于 2009-01-07T22:41:30.550 回答