多个请求+ PHP解释的最佳http服务器解决方案

时间:2011-07-28 12:01:36

标签: php apache nginx webserver httpserver

我目前正在开发一项服务,允许用户在他们的网站上放置一个脚本文件(javascript),该文件将从我的http服务器加载,因为我可以期待处理大量的http请求。 javascript文件也是使用php生成的(它必须是动态的,我不能改变它 - 所以我用php来生成它)。

由于我的一些客户可能拥有每天访问量为50-60k的网站,我每天至少会有1-2百万次请求。

所以..回到我的问题。 显然我不能使用Apache httpd(MPM prefork模块)+ php,因为每个进程都占用大约17-18 MB内存,而我的内存不是无限制的。

到目前为止,Apache httpd(MPM工人模块)+ php效果不佳,因为它仍然未确定php是否是线程安全的,即使他们声称它是(搜索谷歌查看更多信息)。

所以..我在考虑使用:

  1. httpd(MPM工人模块)+ php + fastcgi 或
  2. nginx + php + factscgi
  3. 坦白说我听说nginx对静态页面有好处,这就是为什么我想问你是否在大量请求上使用php + fascgi正常工作。我有没有像使用apache httpd那样的内存问题,但这次内存将由fastcgi制作?

    您认为我应该选择什么:1还是2?或者你有其他解决方案吗?

    由于

1 个答案:

答案 0 :(得分:1)

您应该做的第一件事是对服务器进行基准测试。

第二件事是检查你的瓶颈是什么(php,数据库,CPU使用情况,内存,磁盘访问等),以便你知道该怎么做。

然后你可以费心去寻找问题的解决方案。如果它主要是php,你是否使用了一些缓存,它是否配置良好?如果它是您的数据库,您是否可以更改其架构以获得更好的结果。如果它是您的服务器,请检查nginx,lighttpd或apache是​​否具有更好的设置或它们的组合可以完成这项工作。