【问题标题】:Web Server: Theoretical limit to concurrent connections?Web 服务器:并发连接的理论限制?
【发布时间】:2011-11-18 00:54:31
【问题描述】:

单个网络服务器可以处理多少并发连接有理论上的限制吗?

我已经阅读了很多关于声称是世界上最快的 G-WAN 网络服务器以及 C10k 问题的信息。

更新:

用另一种方式来说明这个问题,最有可能阻止额外并发连接的瓶颈的排序顺序是什么?

【问题讨论】:

  • 我不信任 G-WAN,因为它们的 HTML 文本不可选择。显然,如果他们不能制作一个明智的网站,那么他们就无法制作一个明智的网络服务器
  • 网络服务器与“并发用户”有什么关系?你的意思是并发连接?
  • @KirkWoll,是的,我的意思是“连接”并更新了原始帖子。
  • 谁建议关闭,我不同意你的推理。考虑到任何尝试编写可扩展软件的开发人员都可能会问同样的问题,这似乎很合题。

标签: performance concurrency webserver


【解决方案1】:

瓶颈可能是:

  1. 用户模式应用程序(这就是服务器比另一个服务器快的原因)
  2. 网络(通过 localhost 测试或 40 GbE LAN 解决此瓶颈)
  3. 内核(修补内核、编写驱动程序或使用其他操作系统)

所以游戏是按照最有可能发生的顺序来解决这些问题。

声明:我参与了G-WAN项目的开发,但与上述问题无关。

【讨论】:

    【解决方案2】:

    理论极限?不。它是可用处理能力、RAM、延迟、套接字、带宽和任何数量的其他因素的函数,但是没有理论上的上限可以放在这上面,除了可能涉及总宇宙中物质和能量的总量。

    编辑:对于那些投票否决这个古老答案的人,请记住,它是按照最初提出的形式回答问题而写的(它只包含问题的第一行,详细说明是在很久以后添加的)。我把它留在这里是因为我支持这种争论。如果您想对这个答案投反对票,如果您留下评论指出我错过的一些理论上限,我将不胜感激。如果你能确定一个理论极限,这里可能潜伏着一个新的定理!

    【讨论】:

    • 这也应该与宇宙中物质和能量的总量有关,根据一个相当著名的定律:p
    • 我认为这里有空间探索各种操作系统平台的理论限制,但可能不是 SO 的主题。
    • 那么为什么即使是最好的网络服务器(如 NGINX)似乎也能达到大约 10k 连接,而这显然不是带宽、内存或 CPU,因为在基准测试中所有这些都没有得到充分利用。
    • 因为他们达到了其他限制。内存操作的粒度可能会导致巨大的缓存未命中率或管道停顿。可能是操作系统不是为快速配置和淘汰套接字而设计的。不过,这不是“理论上的”限制——它完全是特定机器上特定操作系统上特定实现的产物,以特定方式配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多