用于社交网站的Apache mpm

时间:2011-09-28 12:07:11

标签: php apache social-networking

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

我计划使用LAMP堆栈。 Apache可以有2个mpms(多处理模块) - preforker(每个请求分配一个新进程)和worker模型(每个请求使用线程)。

考虑到我的服务器端代码是PHP,我希望能够按需扩展网站,哪一个更可取。我们使用的一些第三方PHP模块不是线程安全的,因此建议使用preforker。

  1. 在preforking中,是否可以通过哪种方式减少交换过程之间的延迟
  2. 我有什么方法可以使用工作模块,还有php吗?
  3. 在LAMP堆栈上运行的社交网站,通常使用哪种模式?

3 个答案:

答案 0 :(得分:1)

如果您计划服务推送服务,apache不是一个好选择。看看cherokeenginx,使用php-fpm比使用apache2的mod_php更好,因为你不需要CGI支持(只有支持切诺基和nginx的FastCGI)只有PHP

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

答案 1 :(得分:0)

对于如此多的请求,Apache不是首选。例如,你最好使用nginx。 http://nginx.net/

“每台服务器10000+并发连接”听起来不错; - )

答案 2 :(得分:0)

如果不将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。或者您当然可以尝试其他Web服务器,如@petermolnar

所述