IIS性能问题,试图实现类似xmpp的协议

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

我们有一个客户端,它需要从服务器获取交互式消息,从分布在世界各地的客户端到各种防火墙,关闭各种端口。我们唯一可以依赖的是HTTP端口80(和HTTPS 443)。

设计基本上是以XMPP(Jabber协议)为模型,使用我们的客户端和IIS。客户端向.NET Handler发出请求;处理程序将请求保持打开一段时间,以查找消息。如果有任何消息到达,它们将立即发送到客户端;如果没有,则在超时之后,用“无数据”响应关闭连接。客户端立即重新打开通信。

实际上,首先,IIS不能处理超过100个同时进行的请求-其他请求都是排队的,并且在“连接”和IIS之间可能会有几分钟的时间间隔,从而认识到客户端调用的情况。其次,大约有一半时间客户端超时而没有来自服务器的任何响应(客户端超时比服务器的超时时间长5分钟)。

邮政总是有效的。在同一Web服务器上服务的其他数据也可以工作。同一服务器上的Web服务工作。这是Windows 2K3服务器上的开箱即用安装。

我们是否缺少了配置选项,或者是否还有其他需要解决的问题?

提问于
用户回答回答于

正在达到ASP.NET线程池限制,而不是IIS线程池限制。查看如何创建异步HTTP处理程序(IHttpAsyncHandler)因为当它们阻塞/等待时,它们并不是在绑定线程池(而是使用完成端口)。

用户回答回答于

如果IIS不符合您的要求,则应选择另一台web服务器,不需要发明自定义协议。

扫码关注云+社区

领取腾讯云代金券