Asp.net 轮询Web服务性能-这会起作用吗?
我们的应用程序需要即时通知,所以很明显我应该使用一些WCF双工或套接字通信。问题是这个应用程序是部分信任XBAP的,因此除了BasicHttpBinding之外,我不允许使用任何东西。因此,我需要进行民意调查以寻求改变 问题来了:我的PM说更新间隔应该是2秒左右,并且在一台web服务器上有500个用户的intranet上运行 你们中有没有人有过轮询会对web服务器产生怎样的影响的经验 该服务非常简单,它将guid作为参数,并返回guid列表。所有的数据访问都是缓存的,所以我想服务器上的负载对于一个调用来说是最小的,但是对于500 除了轮询之外,Web服务器几乎没有什么工作 那么,基于这一点信息(假设一个标准的服务器硬件,不管是什么),有可能做出一个限定的猜测吗Asp.net 轮询Web服务性能-这会起作用吗?,asp.net,performance,web-services,notifications,xbap,Asp.net,Performance,Web Services,Notifications,Xbap,我们的应用程序需要即时通知,所以很明显我应该使用一些WCF双工或套接字通信。问题是这个应用程序是部分信任XBAP的,因此除了BasicHttpBinding之外,我不允许使用任何东西。因此,我需要进行民意调查以寻求改变 问题来了:我的PM说更新间隔应该是2秒左右,并且在一台web服务器上有500个用户的intranet上运行 你们中有没有人有过轮询会对web服务器产生怎样的影响的经验 该服务非常简单,它将guid作为参数,并返回guid列表。所有的数据访问都是缓存的,所以我想服务器上的负载对于一
- 是否有可能或没有实施这一点,它会起作用吗
干杯我认为这不是什么特别的问题。我认为每个请求的响应时间都很短,除非你要收回大量的数据,所以2秒钟内的500个连接应该不会太困难
在进行此设计之前,您可以使用压力测试工具来验证您的Web服务器是否能够处理负载。250 qps可能在硬件和网络带宽非常适中的情况下是可行的,前提是您尽可能减少来回发送的数据。我假设您正在客户端缓存这些GUID列表,以便在正常情况下只发送一个小的“无更新”响应
用一个简单的原型应该很容易测量,但要更加自信。不要估计,基准。轮询。。不好,但如果你没有其他选择,那么它是理想的:) 请记住,毫无疑问,您将拥有keep alives,因此您将拥有500个永久连接的用户。它的内存使用率可能比处理器使用率更重要。我无法想象网络访问(即使是在一个相对臃肿的web服务中)会占用大量的网络容量,但您的网络延迟可能会成为一个问题——特别是当我们都看到web应用程序“暂停”一段时间时 不过最后,你可能会没事,但你得自己检查一下。有很多web服务压力测试人员,您可以使用其中一个,为其他人干杯