首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >阿帕奇的mod_php还是FastCGI?哪个对Wordpress有好处?

阿帕奇的mod_php还是FastCGI?哪个对Wordpress有好处?
EN

Stack Overflow用户
提问于 2009-09-10 14:34:09
回答 2查看 18.6K关注 0票数 19

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

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

  1. 哪种运行PHP的方法消耗的内存更少?
  2. 还说,哪种方法消耗的内存几乎是恒定的。我发现在mod_php中,我的服务器内存使用量每隔几秒钟就会在300MB和800MB之间波动。
  3. 但是在FastCGI中,服务器的第一个响应来得很晚。我发现在FastCGI中,每个网页请求都会有一个初始延迟。一旦来自服务器的第一个响应到达,其他项目,如图片,css,js的加载速度会更快。
  4. 可以同时运行这两个项目吗?我有5个网站上的专用服务器。如果我在mod_php上运行很少,在FastCGI上运行rest,可以吗?
  5. 我敢肯定,我的服务器宕机主要是因为mod_php不正确地使用内存。我检查了所有的脚本。有没有办法确保服务器上的内存消耗保持在接近constant?
  6. Does的水平?.htaccess的复杂性会显著影响内存使用率?
  7. :apache MPM prefork/worker设置是否会影响内存消耗?它们是否影响mod_php和FastCGI模式equally?
  8. When我运行“mod_php”命令,我看到apache (httpd)消耗了大约40MB的内存。有许多httpd实例正在运行。此外,FastCGI还派生了一些类似大小的进程。context?
  9. Does进程的正常内存大小是多少?当我在我们所有的站点上运行Wordpress时,
  10. ,这将是一种很好的方式,因为httpd /SuExec在APC上工作得很好?我是否需要重新配置APC以使用SuEXEC和FastCGI。

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

如果我弄糊涂了,很抱歉,但我真的很混乱。我有512MB的物理RAM,400MB的交换空间,而我的服务器内存快用完了。平均内存需求约为350MB,这只是内存使用峰值导致内存在几秒钟内不可用,如果在这几秒钟内收到的额外命中率很少,apache就会崩溃,而mysql和其他所有人都运行得很好。

伙计们,请帮帮我。我不会再买内存或硬件了。我非常确定这个问题出在我的配置中。如果我听起来傲慢或无知,我很抱歉。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-22 09:32:59

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

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

也会消耗几乎恒定的内存。我发现使用mod_php时,我的服务器内存使用量每隔几秒钟就在300MB和800MB之间波动。

你可以让这两者都保持恒定。如果仔细设置MaxClients、MinSpareServers和MaxSpareServers,就可以大致看出有多少进程正在运行。如果您还在PHP配置中设置了memory_limit,则可以计算需要多少内存。您也可以对fcgi执行相同的操作,因为您可以决定有多少进程正在运行。

但使用FastCGI时,服务器的第一个响应非常晚。我发现在FastCGI中,每个网页请求都会有一个初始延迟。一旦来自服务器的第一个响应到达,其他项目,如图片,css,js的加载速度就会更快。

这没有任何意义。我不确定为什么会发生在你身上。

可以同时运行这两种模式吗?我有5个网站上的专用服务器。如果我在mod_php上运行很少,在FastCGI上运行rest,可以吗?

我猜,但这将是一个噩梦维护和可能会更难配置以节省内存。我认为恰恰相反。

我敢肯定,我的服务器宕机的主要原因是mod_php对内存的使用不当。我检查了所有的脚本。有没有办法确保服务器上的内存消耗几乎保持恒定?

按照我上面概述的那样配置内存和进程,并保持监控。

.htaccess的复杂性是否会显著影响内存使用率?如果是,会不会是导致服务器内存不足的单一原因?

我不这样认为。每个目录的.htaccess可以减慢速度,但除非Apache中有一些严重的bug,否则它不会导致大量内存消耗。

apache MPM prefork/worker设置会影响内存消耗吗?它们对mod_php和FastCGI模式的影响是否相同?

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

当我运行"top“命令时,我看到apache (httpd)消耗了大约40MB的内存。有许多httpd实例正在运行。此外,FastCGI还派生了一些类似大小的进程。httpd进程的正常内存大小是多少?

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

当我在我们所有的网站上运行Wordpress时,哪种方式会更好呢?

这可能是品味的问题。我最近从apache转到了nginx+fastcgi。这需要一些时间来适应,但它确实工作得很好。wordpress没有任何问题(即使是supercache也没有问题,因为它涉及到web服务器)。

和APC能很好地工作吗?我需要重新配置APC来使用SuEXEC和FastCGI吗?

我没有使用suExec,但是fastcgi在APC上工作得很好。不需要配置任何东西。

票数 19
EN

Stack Overflow用户

发布于 2011-12-16 05:41:49

我试过切换到mod_php,很多人都说它的速度很快。我没有意识到mod_php在处理静态文件时会消耗额外的内存。(我并不太关心根拥有的文件的安全问题)。

在没有CDN设置的情况下,PHP fastcgi是您为应用程序提供服务的最佳选择。如果没有它,从fcgi切换到mod_php会使我的页面生成时间从3895ms降到6264ms (共享主机上的管理页面)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1405656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档