gpt4 book ai didi

performance - 尝试实现类似 XMPP 的协议(protocol)的 IIS 性能问题

转载 作者:行者123 更新时间:2023-12-01 08:32:34 27 4
gpt4 key购买 nike

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

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

嗯,理论上。

实际发生的情况是,首先,IIS 无法处理超过 100 个并发请求 - 其他请求都在排队,并且在“连接”和 IIS 识别客户端调用之间可能有几分钟的延迟。其次,大约一半时间客户端超时而服务器没有任何响应(客户端超时比服务器长五分钟)。

POST 始终有效。在同一网络服务器上提供的其他数据有效。同一台服务器上的 Web 服务工作。这是 Windows 2K3 Server 上的开箱即用安装。

是否有我们缺少的配置选项,或者是否有其他我应该查看的内容来解决这个问题?

谢谢。

最佳答案

我认为您达到了 ASP.NET 线程池限制,而不是 IIS 限制。考虑创建一个异步 HTTP 处理程序 (IHttpAsyncHandler),因为当它们阻塞/等待时它们不会占用线程池(它们使用完成端口代替)。

更新:最近遇到这个似乎与我的想法一致:CodeProject: Scalable COMET Combined with ASP.NET

关于performance - 尝试实现类似 XMPP 的协议(protocol)的 IIS 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/123387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com