首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在.Net中处理高达100 k的HTTP连接

如何在.Net中处理高达100 k的HTTP连接
EN

Stack Overflow用户
提问于 2010-11-10 14:13:16
回答 2查看 1.9K关注 0票数 8

我正在创建一个服务器来监控网页上客户端的在线存在。

  • 将有80至10万(8万)同时客户监测。
  • 我用.Net来写这个。

客户端将使用JavaScript (在HTML上)与一台(单独的)服务器联系,告诉服务器他们是活的/在线的。

我正在考虑两种方法之一:

  1. 定期发送与“保持生存”的持久连接。这将给我提供更高的精度,何时客户端断开,我不需要更新内存结构(onlineinfo)太频繁,因为我们知道什么时候客户端来来往往。网络设备/带宽的额外好处。
  2. 客户端(重新)每隔一段时间进行连接,以告诉服务器他们还活着。这需要大量的连接,并必然会降低准确性。我想像2-3分钟这样的间隔是我们能做的最好的。80k/120=每秒660个连接…ASP.Net执行得不快,所以我对此不太确定。8核心系统=10 ms /次执行。

有了这么多的连接,显然有一些限制。例如,我不能同时产生那么多的线程。对IIS生成ASP.Net应用程序的请求将使用1个线程,直到请求完成为止。

写一个独立的http-服务器是最好的选择吗?.Nets TcpListener不利用httpd.sys (IIS)吗?

如对此问题有任何建设性的想法,将不胜感激。

编辑:在这篇文章中添加一些有用的链接,以下链接来自Nicolas的答案:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-10 14:25:27

100 000个持久连接不是一个可行的选择。

间隔发送HTTP请求更可行,编写专用HTTP服务器是一个有趣的选择,IMO。

看看这个问题的一些方向。

票数 4
EN

Stack Overflow用户

发布于 2012-05-15 19:11:57

我知道您特别提到了.NET,但是您可能应该看看NodeJS,因为它正是您想要做的,但是它是服务器端的JavaScript。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4145365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档