我对在不同的配置(如 mod_php、cgi、FastCGI 等)中运行 PHP 有基本的想法。
在我的发现和测试中,我发现 FastCGI 稍好一些。我最喜欢 FastCGI 对 SuEXEC 的支持。等等,我不想再在这里涉足基准测试业务。如果您在网上冲浪,您会发现人们证明一种方式在每秒处理的请求数量方面比另一种方式更快。好吧,它的指标很好,但我对不同的因素感兴趣,这是我的问题......
- 哪种运行PHP的方法消耗的内存更少?
- 哪种方法消耗内存几乎是恒定的。我使用 mod_php 看到我的服务器内存使用量每隔几秒就会在 300MB 和 800MB 之间波动。
- 但是使用 FastCGI,来自服务器的第一个响应来得很晚。我看到 FastCGI 每个网页请求都有一个初始延迟。一旦服务器的第一个响应到达,图像、css、js 等其他项目的加载速度就会更快。
- 两者混合运行可以吗?我在专用服务器上有 5 个站点。如果我用 mod_php 运行几个并用 FastCGI 休息可以吗?
- 我确信我的服务器出现故障主要是因为 mod_php 的内存使用不当。我检查了所有脚本。有什么方法可以确保服务器上的内存消耗几乎保持不变?
- .htaccess 的复杂性是否会显着影响内存使用?如果是,是否是导致服务器内存不足的单一原因?
- apache MPM prefork/worker 设置会影响内存消耗吗?它们是否同样影响 mod_php 和 FastCGI 模式?
- 当我运行“top”命令时,我看到 apache (httpd) 消耗了大约 40MB 的内存。有许多 httpd 正在运行的实例。此外,FastCGI 还分叉了一些类似大小的进程。httpd 进程的正常内存大小是多少?
- 当我在我们所有的网站上运行 Wordpress 时,在这种情况下哪一个是好方法?
- FastCGI/SuExec 能否与 APC 一起正常工作?我是否需要重新配置 APC 才能使用 SuEXEC 和 FastCGI。
请注意,我对在 DIGG 或流量高峰中生存不太感兴趣。我想要一种可以使服务器稳定且可预测的方法。
对不起,如果我感到困惑,但我真的一团糟。我有 512MB 物理 RAM,400MB 交换,我的服务器内存快用完了。平均内存需求约为 350MB,它只是内存使用高峰使内存在几秒钟内不可用,如果在这几秒钟的窗口中收到的额外命中数很少,apache 崩溃,而 mysql 和所有其他人继续正常运行。
请帮帮我。我不会购买更多的 RAM 或硬件。我很确定问题出在我的配置中。对不起,如果我听起来傲慢或无知。