【问题标题】:Poco SocketReactor ScalabilityPoco SocketReactor 可扩展性
【发布时间】:2011-02-21 00:07:08
【问题描述】:

我使用 Poco 为 Linux 编写了一个代理服务器,但此后一直在阅读实现 TCP/IP 服务器可扩展性的各种方法。我将需要服务器来处理持久连接(不是 HTTP 流量),同时连接的上限约为 250 个。每个连接通常使用大约 5-10Kb/秒,处理流量的最佳延迟至关重要。

就目前而言,我正在使用 Poco SocketReactor,它使用 Reactor 模型和 select() 调用,但是我已经阅读了 C10K 问题以及其他一些资源,似乎使用这种方法可能不是最好的主意。我相信 Poco 库中有一个使用 poll() 的测试实现,所以这可能是改进的一个选项。

有没有人有使用 Poco SocketReactor 的经验,你知道它在我的场景中的扩展性有多大吗?如果它不能很好地扩展,我们将不胜感激有关替代方案的建议。

【问题讨论】:

    标签: c++ sockets scalability poco-libraries


    【解决方案1】:

    在 Windows 上 Poco 确实使用 select(),但在 Linux/BSD/OSX 上,它将使用以下最佳实现:

    • 选择()
    • 投票()
    • epoll()
    • /dev/poll

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 2011-07-07
      • 2016-11-20
      • 2010-12-03
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多