gpt4 book ai didi

php - Apache 的 mod_php 还是 FastCGI?哪个对 Wordpress 有好处?

转载 作者:IT王子 更新时间:2023-10-29 00:08:00 25 4
gpt4 key购买 nike

我对在不同配置(如 mod_php、cgi、FastCGI 等)中运行 PHP 有基本的想法。

在我的发现和测试中,我发现 FastCGI 稍微好一些。我最喜欢 FastCGI 对 SuEXEC 的支持。等等,我不想在这里再次进入基准测试业务。如果您上网冲浪,您会发现人们证明一种方式在每秒处理的请求数方面比另一种方式更快。这是很好的指标,但我对不同的因素感兴趣,这是我的问题...

  1. 哪种运行 PHP 的方法消耗的内存更少?
  2. 还有哪种方法消耗的内存几乎不变。我发现使用 mod_php 我的服务器内存使用量每隔几秒就在 300MB 到 800MB 之间波动。
  3. 但是对于 FastCGI,服务器的第一次响应来得非常晚。我看到 FastCGI 每个网页请求都有一个初始延迟。一旦来自服务器的第一个响应到达,图像、css、js 等其他项目的加载速度就会非常快。
  4. 可以同时运行两者吗?我在专用服务器上有 5 个站点。如果我使用 mod_php 运行少量并使用 FastCGI 休息可以吗?
  5. 我确信我的服务器宕机主要是因为 mod_php 内存使用不当。我检查了所有脚本。有什么方法可以确保服务器上的内存消耗几乎保持不变?
  6. .htaccess 的复杂性是否会显着影响内存使用?如果是,是否可以将其作为导致服务器内存不足的单一原因?
  7. apache MPM prefork/worker 设置会影响内存消耗吗?它们对 mod_php 和 FastCGI 模式的影响是否相同?
  8. 当我运行“top”命令时,我看到 apache (httpd) 消耗了大约 40MB 的内存。 httpd 运行的实例很多。此外,FastCGI 还 fork 了一些类似大小的进程。 httpd 进程的正常内存大小是多少?
  9. 因为我在我们所有的网站上都运行 Wordpress,在这种情况下哪种方式比较好?
  10. FastCGI/SuExec 能否与 APC 一起正常工作?我是否需要重新配置 APC 以使用 SuEXEC 和 FastCGI。

请注意,我对在 DIGG 或流量高峰中生存不太感兴趣。我想要一种可以使服务器稳定且可预测的方法。

对不起,如果我感到困惑,但我真的一团糟。我有 512MB 物理 RAM,400MB Swap,我的服务器快要疯了。平均内存需求约为 350MB,这只是内存使用高峰导致内存在几秒钟内不可用,如果在那几秒钟窗口内收到的额外点击很少,则 apache 崩溃,而 mysql 和所有其他家伙保持正常运行。

请大家帮帮我。我不会购买更多的 RAM 或硬件。我该死的确定问题出在我的配置中。对不起,如果我听起来傲慢或无知。

最佳答案

Which method of running PHP consumes less memory?

我假设每个 PHP 处理的请求它们或多或少是相同的。但是,如果您也将 mod_php 加载到 apache 服务图像中,那么我假设您的内存占用量会因服务静态文件而增加。

Also which method consumes memory nearly constant. I see with mod_php my servers memory usage fluctuating between 300MB and 800MB, every few seconds.

您可以使两者保持不变。如果您仔细设置 MaxClients、MinSpareServers 和 MaxSpareServers,您几乎可以知道有多少进程正在运行。如果您还在 PHP 配置中设置 memory_limit,则可以计算出您需要多少内存。您也可以对 fcgi 执行相同的操作,因为您可以决定正在运行的进程数。

But with FastCGI, first response from server comes very late. I see with FastCGI there is an initial delay per webpage request. Once first response from server arrives, other items like images, css, js loads pretty faster.

这没有意义。我不确定为什么会发生这种情况。

Is it OK to run mix of both? I have 5 sites on dedicated server. Is it ok if I run few with mod_php and rest with FastCGI?

我想,但这既是维护的噩梦,又可能更难配置以节省内存。我认为恰恰相反。

I am sure that my server goes down mostly because of improper memory usage by mod_php. I checked all scripts. Is there any way to make sure memory consumption on server remains nearly constant?

如上所述配置内存和进程,并保持监控。

Does complexity of .htaccess affects memory usage significantly? If yes, can it be a single reason to make server run out of memory?

我不这么认为。 per-directory .htaccess 可以减慢速度,但除非 Apache 中存在一些严重的错误,否则它不应该导致大量内存消耗。

Does apache MPM prefork/worker settings affect memory consumption? Do they affect mod_php and FastCGI mode equally?

可能会,但我建议远离 worker,因为 PHP 大多不是线程安全的。

When I run "top" command, I see apache (httpd) consuming memory around 40MB. There are many instances of httpd running. Also in addition to that FastCGI forks some processes of similar size. What is normal memory size for httpd process?

30MB 是最小值。上限取决于您的应用程序(我见过大约 1GB 的情况)

As I am running Wordpress on all of our sites, which will be good way in that context?

这可能是一个品味问题。我最近从 apache 转向 nginx+fastcgi。需要一些时间来适应,但它确实运作良好。 wordpress 没有任何问题(即使是 supercache,它与 web 服务器有关)。

Does FastCGI/SuExec works fine with APC? Do I need to reconfigure APC to work with SuEXEC and FastCGI.

我没有使用 suExec,但 fastcgi 与 APC 配合得很好。无需配置任何内容。

关于php - Apache 的 mod_php 还是 FastCGI?哪个对 Wordpress 有好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com