0

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

由于我的一些客户可能拥有每天有 50-60k 访问者的网站,因此我预计每天至少会有 1-2 百万个请求。

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

到目前为止,Apache httpd(MPM 工作模块)+ php 运行得不是很好,因为它仍然不确定 php 是否是线程安全的,即使他们声称它是(搜索谷歌以查看更多信息)。

所以..我正在考虑使用:

  1. httpd(MPM 工作模块) + php + fastcgi 或
  2. nginx + php + factcgi

坦率地说,我听说 nginx 对静态页面很有用,这就是为什么我想问你是否可以在大量请求上使用 php + fascgi。谁有像使用 apache httpd 一样的内存问题,但这次内存将由 fastcgi 产生?

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

谢谢

4

1 回答 1

1

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

第二件事是检查你的瓶颈是什么(php、数据库、CPU 使用率、内存、磁盘访问等),这样你就知道该做什么了。

然后你就可以费心去寻找解决问题的办法了。如果它主要是 php,你是否使用了一些缓存并且配置得当?如果它是你的数据库,你能改变它的架构以获得更好的东西吗?如果是您的服务器,请检查具有更好设置的 nginx、lighttpd 或 apache 或它们的组合是否可以完成这项工作。

于 2011-07-28T12:53:44.283 回答