【问题标题】:Static caching for PHP (Apache)?PHP(Apache)的静态缓存?
【发布时间】:2012-03-20 16:25:00
【问题描述】:

我正在为客户端安装一个预构建的基于 php 的 Web 应用程序。不幸的是,该应用程序执行非常缓慢,因为它编译了大量数据。 页面加载时间长达 40 秒。

我知道 ob_caching,但我不想弄乱应用程序,除非绝对必要。

是否有任何工具/脚本/apache 模块可以在服务器上静态缓存应用程序的整个输出并定期更新。 我只是在寻找一个中间件或其他东西,它可以从 php 应用程序中构建常规的静态 html 页面。 (顺便说一句:我尝试了 eaccelerator,但并没有改善这种情况。)

如果有任何提示,我将不胜感激。 提前致谢。

【问题讨论】:

  • 不要忘记投票并选择对您帮助最大的答案作为最佳答案。

标签: php apache caching static


【解决方案1】:

eAccelerator 应该会产生可衡量的差异,所以您确定它安装正确吗?您应该已经看到 phpinfo() 中的 eaccelerator 部分显示缓存已满。您可能也有 ahd 缓存集太小等。或者,请尝试 APC 代替。如果两者都没有显示任何性能改进,则可能是服务器问题。

无论如何,40 秒对于任何事情来说都非常慢。你确定这是 PHP 而不是优化不佳的 SQL 查询?

【讨论】:

  • 我的猜测是他有一些代码在做一些非常愚蠢的事情,或者一些没有索引的怪物 SQL 查询。在进行任何性能优化(包括缓存)之前,您应该对您的代码进行概要分析以找出问题的实际出处。
  • @KeithPalmer 为此 +1。我推荐 xdebug profiler:xdebug.org/docs/profiler
  • 感谢您到目前为止的回答。是的,我知道我应该看看代码。正如我所说,我没有构建它,所以我认为如果我什至不触摸它并且只是缓存它,它的工作就会减少。 :D 也许这不是最好的主意...只是给您一个想法:该应用程序正在读取一个 ics(日历)文件并将其放在一个漂亮的基于 Web 的小显示器中。它被称为phpicalendar。也许它只是坏...:D
  • @webstyler 听起来无论如何都不应该花 40 秒!祝你分析顺利。一旦你对它进行分析,你可能会发现它的发现速度非常快。
  • 好的。非常感谢你。我会试一试的。
【解决方案2】:

看起来这应该可以解决问题(但 YMMV,取决于您的应用程序):

http://httpd.apache.org/docs/2.2/mod/mod_cache.html

【讨论】:

  • 好主意。但我认为除非我显着改进应用程序 mod_cache 不会有帮助。我想创建静态页面以提高速度。但是阅读上面的cmets可能不是一个好主意。
  • 因此是 YMMV。您确实要求提供中间件解决方案:-)
猜你喜欢
  • 2015-08-07
  • 1970-01-01
  • 2011-05-10
  • 1970-01-01
  • 2017-06-07
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 2016-11-02
相关资源
最近更新 更多