【问题标题】:PHP + Comet (long-polling) scaling / hostsPHP + Comet(长轮询)扩展/主机
【发布时间】:2011-05-21 07:07:03
【问题描述】:

我使用 PHP/MySQL 开发了一个应用程序,该应用程序使用了彗星技术,准确地说是长轮询。概念验证效果很好,但我预计流量会迅速达到数千个同时连接 = 网络服务器上的数千个打开连接。

我没有能力设置自己的服务器(例如使用 lighttpd),并且通常依靠简单的 5 美元/月 PHP 托管来进行其他 Web 项目。但是,我意识到这些不会起作用,因为它们并不意味着支持如此大量的同时打开的连接。

我还有哪些其他选择?我找不到任何专门从事彗星应用的主机。

谢谢

【问题讨论】:

    标签: php ajax comet long-polling reverse-ajax


    【解决方案1】:

    你最好使用专用服务器,它会更贵,但它会完成这项工作,我个人喜欢1and1.co.uk,如果你在美国1and1.com

    希望有帮助!!

    【讨论】:

    • 使用专用服务器无法解决问题。问题在于网络服务器的选择。
    • 对,正如马特所说,这与我目前拥有的相似。它不会扩展到 1000 个并发打开的连接。
    【解决方案2】:

    我的情况和你一样,只是决定使用专用服务器,然后我将在其中安装 Nginx 和 Push Module。这是报纸网站的实时聊天,到目前为止效果很好。正如 Jon 所提到的,Apache 将很快陷入困境,而 nginx 表现出色,并且推送模块非常简单。祝你好运!

    【讨论】:

    • 感谢您的建议。使用带有 NGinx 的推送模块,您可以同时处理多少个连接?我也在构建一个实时聊天系统。
    • 我们已经在 Mediatemple (dv) 服务器上测试了多达 200 多个虚拟连接,其中 Apache 服务于前端。它开箱即用的扩展性很好。
    【解决方案3】:

    是的,Apache 并非设计用于与许多打开的连接一起使用。您可能想研究在 Jetty 上运行 cometd。您将不得不使用 Java 进行一些编程,但您仍然可以在 php 中执行所有 Web 请求。您也许可以找到 Java/Jetty 和 PHP 网络主机。

    我想看看人们有什么其他解决方案。

    【讨论】:

      【解决方案4】:

      我读到 Apache 不能很好地处理许多与服务器的打开连接。 很多人推荐nginx或者StreamHub Comet Server(Python):

      Python Comet Server

      http://ajaxpatterns.org/HTTP_Streaming

      或者您可以使用完整的 Comet 框架(与 PHP 一起使用):http://www.ape-project.org/

      【讨论】:

      • 谢谢。我研究了类似的选项,但我必须是托管这些生产服务器的人,对吧?我找不到提供这种“专业”托管服务的人。
      猜你喜欢
      • 2012-07-07
      • 1970-01-01
      • 2011-07-15
      • 2011-08-08
      • 2011-02-03
      • 2011-02-27
      • 2010-10-27
      • 2023-03-20
      • 2011-12-26
      相关资源
      最近更新 更多