Apache的mod_php的或快速? 这对于WordPress是好?(Apache's

2019-08-04 19:58发布

我对像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的/工人设置会影响内存消耗? 难道他们影响mod_php,并且和FastCGI模式一样?
  8. 当我运行“顶”命令,我看到阿帕奇(httpd的)消耗40MB左右的内存。 还有的httpd运行多个实例。 此外,在除了FastCGI的叉差不多大小的过程。 什么是httpd进程正常的内存大小?
  9. 正如我运行WordPress的对我们所有的网站,这将是在这方面好办法吗?
  10. 难道FastCGI的/的SuExec正常工作与APC? 我是否需要重新配置APC用的SuExec和FastCGI工作。

请注意,我在幸存的反对DIGG或流量高峰不感兴趣。 我想一个办法,可以使服务器的稳定和可预测的。

如果我很抱歉混乱,但我真的一塌糊涂。 我有512MB的物理内存,400MB交换和我的服务器正在运行的内存像疯了似的。 平均内存要求是350MB左右,它只是内存使用高峰使得几秒钟内存不可用,如果那几个第二个窗口获得一些额外的命中,而阿帕奇MySQL和其他所有的小伙子们一直运行良好坠毁。

请帮我出球员。 我不打算买更多的RAM或硬件。 我该死的肯定问题出在我的配置。 很抱歉,如果我听起来傲慢或无知。

Answer 1:

哪种方法运行PHP的消耗更少的内存?

我假定每PHP处理请求它们都或多或少是相同的。 但是,如果你有mod_php的加载到apache的服务图像也一样,那么我想你的内存占用量会更高,由于提供静态文件。

此外该方法消耗的内存几乎不变。 我看到我的mod_php,并且服务器内存使用300MB和800MB,每隔几秒钟之间波动。

你可以使这两个漂亮的常数。 如果你仔细设置的MaxClients,和的MinSpareServers MaxSpareServers的,你几乎可以说有多少进程正在运行。 如果你也是你的PHP配置中设置memory_limit的,就可以计算出你需要多少内存。 你可以做FCGI同样也是如此,因为你可以决定多少进程正在运行。

但是FastCGI的,从服务器的第一反应谈到很晚。 我的FastCGI看到有每个网页请求的初始延迟。 一旦从服务器首先响应到达,其他项目如图像,CSS,JS负荷相当快。

这是没有意义的。 我不知道为什么你的情况发生。

是否确定运行这两个的组合? 我有专门的服务器上的5个站点。 它是确定的,如果我跑几个与mod_php,并且和FastCGI的休息?

我猜想,但它都将是维持一个恶梦,可能会更难配置节省内存 。 恰恰相反,我相信。

我相信,我的服务器宕机,因为不当mod_php,并且内存的使用情况下居多。 我检查了所有的脚本。 有没有什么办法让服务器上确保内存消耗保持几乎不变?

配置内存和进程,因为我上面列出,并保持监控。

确实的.htaccess的复杂性影响了内存使用情况显著? 如果是的话,它可以是一个单一的原因,使服务器运行内存不足?

我不认为如此。 每目录的.htaccess可以慢下来,但除非在阿帕奇一些严重的错误,它应该不会造成大容量内存的消耗。

请问apache的MPM prefork的/工人设置会影响内存消耗? 难道他们影响mod_php,并且和FastCGI模式一样?

它可能,但我建议远离工人离开,PHP大都不是线程安全的。

当我运行“顶”命令,我看到阿帕奇(httpd的)消耗40MB左右的内存。 还有的httpd运行多个实例。 此外,在除了FastCGI的叉差不多大小的过程。 什么是httpd进程正常的内存大小?

30MB是分钟。 上限取决于您的应用程序(我所看到的情况下,它1GB〜)

正如我运行WordPress的对我们所有的网站,这将是在这方面好办法吗?

这可能是一个口味问题。 我最近搬到Apache的逐渐远离的nginx + FastCGI的。 它需要一点时间来适应,但它确实工作得很好。 没有任何问题与WordPress(即使不是supercache,这是相当复杂的Web服务器而言)。

难道FastCGI的/的SuExec正常工作与APC? 我是否需要重新配置APC用的SuExec和FastCGI工作。

我不使用suexec的,但用的FastCGI APC效果很好。 无需进行任何配置。



Answer 2:

尝试切换到mod_php,并且 ,它的速度很多说法。 提供静态文件时并没有意识到通过额外的内存mod_php的烧伤 (我也没在意用root拥有文件的安全性问题)。

如果没有一个CDN设置,FastCGI的是你的服务的PHP应用程序的选择。 没有它,从FCGI切换到mod_php的放慢我的页面生成时间一路下跌, 从3895ms到6264ms(在共享主机管理页面)。



文章来源: Apache's mod_php OR FastCGI? Which is good for Wordpress?