41得票3回答
TCP/IP - 使用每个客户端一个线程的方法解决C10K问题

在阅读著名的C10k文章并搜索有关其撰写以来事物如何发展的内容后,我想知道今天的标准服务器是否能够使用每个连接一个线程(可能借助线程池避免创建/销毁过程)处理>10000个并发连接。 一些可能影响解决问题的细节: 输入、中间处理和输出。 每个连接的长度。 服务器的技术规格(核心、处理...

35得票7回答
有没有现代解决方案对于每秒10000个客户端问题的评论?

(通常称为C10K问题) 是否有一个更现代的关于c10k问题的解决方案的综述(最后更新:2006年9月2日),特别是针对Linux(epoll,signalfd,eventfd,timerfd等)和类似libev或libevent的库? 是否有一些讨论现代Linux服务器上所有已解决和未解...

12得票3回答
线程闲置等于不好吗?

我希望在一组尽可能小的机器上支持大约10,000个同时HTTP客户端。我想在用户使用应用程序时保持与每个客户端的连接处于活动状态,以便允许服务器推送更新。 我认为异步IO经常被推荐用于这些长期存在的连接,以避免有大量线程处于空闲状态。但是,线程处于空闲状态会有哪些问题?我觉得基于线程的模型更...

9得票6回答
使用Python编写基于socket的服务器,有哪些推荐策略?

我最近阅读了this document,其中列出了一些实现套接字服务器的策略。它们分别是: 使用非阻塞I/O和水平触发就绪通知,为每个线程服务多个客户端 使用非阻塞I/O和就绪状态改变通知,为每个线程服务多个客户端 使用异步I/O,为每个服务器线程服务多个客户端 使用阻塞I/O,为每个服务...

8得票9回答
Java套接字编程无法处理1万个客户端

我可以为套接字编程中的多客户端功能创建多个线程,这很好用。但如果有10,000个客户端想连接,我的服务器无法创建这么多线程。 我该如何管理线程以便同时监听所有这些客户端呢? 此外,在这种情况下,如果服务器想向特定客户端发送消息,那么怎么做呢?

7得票3回答
Apache和c10k问题

在正常情况下,Apache处理c10k问题如何?比如运行非常小的脚本和少量数据,还是我需要扩展使用Apache? 实际上,在后台有一些运行专门软件处理请求的服务器承担了很重的工作,但我想将Apache用作前端。这是可行的计划吗?

7得票6回答
如何在现代多核/多插槽机器上扩展TCP监听程序

我需要用C语言编写一个守护进程,要求同时处理20-150K个TCP连接。这些连接是长期运行的,几乎不会断开。在任何给定时间内,它们只有很少量的数据(甚至很少超过MTU..它是一种刺激/响应协议),但对它们的响应时间至关重要。我想知道目前UNIX社区使用什么方法来处理大量套接字,并使其响应延迟最...