【问题标题】:Apache mpm for a social networking site用于社交网站的 Apache mpm
【发布时间】:2011-09-28 12:07:10
【问题描述】:

我正在尝试建立一个社交网站,该网站将有大量用户同时登录,一次上限约为 5000 人。

我打算使用 LAMP 堆栈。 Apache 可以有 2 个 mpms(多处理模块)- preforker(每个请求分叉一个新进程)和工作模型(每个请求使用线程)。

考虑到我的服务器端代码是用 PHP 编写的,并且我希望能够按需扩展网站,哪个更可取。我们使用的一些第三方 PHP 模块不是线程安全的,所以最好推荐使用 preforker。

  1. 有什么方法可以减少预分叉中交换进程之间的延迟
  2. 有什么方法可以让我使用工作模块,以及 php 吗?

在 LAMP 堆栈上运行的社交网站,通常使用哪种模式?

【问题讨论】:

标签: php apache social-networking


【解决方案1】:

如果你打算做服务器推送服务,apache 不是一个好的选择。看看cherokeenginx,两者在php-fpm 下的工作效果都比在 apache2 下的 mod_php 好得多,因为你不需要 CGI 支持(只有 PHP 支持 cherokee 和 nginx 只支持 FastCGI)。

几周前I migrated my WordPress network from apache2-mpm-itk with mod_php to nginx+php5-fpm。结果系统负载急剧下降,内存负载变得可预测,用户体验似乎快了很多。我还添加了来自loadimpact.com 的一些免费测试,新配置的服务时间也更好。

【讨论】:

    【解决方案2】:

    Apache 不是首选的有这么多的请求。例如,使用 nginx 会更好。 http://nginx.net/

    “每台服务器 10000+ 个并发连接”听起来足够好 ;-)

    【讨论】:

      【解决方案3】:

      如果您不将 PHP 与 mod_php 一起使用,您可以在工作模式下使用 Apache。在 Fastcgi mod 中使用 PHP,php-fpm 是必须尝试的。

      使用当前的 apache 稳定版本 (2.2) 如果您想在 chrooted 模式下使用它,您将遇到问题。但是您可以尝试 apache 2.3 或等待 2.4 并使用 mod_proxy_fastcgi 而不是 mod_fastcgi 或其他。您还可以使用此版本的 Apache 测试新的事件 basef mpm。或者当然您可以尝试@petermolnar 回答的其他网络服务器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        相关资源
        最近更新 更多