2012-03-20 91 views
3

我正在为客户端安装预构建的基于php的Web应用程序。不幸的是,应用程序执行速度很慢,因为它编译了大量数据。 页面加载时间长达40秒。PHP(Apache)的静态缓存?

我知道ob_caching,但除非绝对必要,否则我不想惹恼应用程序。

是否有任何工具/脚本/ apache模块来静态缓存应用程序的整个输出,并定期更新它。 我只是寻找一个中间件,或者从PHP应用程序构建常规静态ht​​ml页面的东西。 (顺便说一句:我试过eaccelerator,但它并没有改善的情况。)

我会很感激任何提示。 在此先感谢。

+1

不要忘记给予好评,并选择最佳答案,你帮助最大的答案。 – 2013-06-10 09:23:49

回答

2

eAccelerator应该有一个可测量的差异,所以你确定它安装正确吗?您应该在phpinfo()中看到一个eaccelerator部分,其中显示缓存已满。您也可能会将缓存设置太小等。或者,也可以尝试使用APC。如果两者均未显示性能改进,则可能有服务器问题。

无论如何,40秒对任何事情都是疯狂的缓慢。你确定这是PHP而不是很差优化的SQL查询吗?

+2

我的猜测是他有一些代码在做一些非常愚蠢的事情,或者一些没有索引的怪物SQL查询。在进行任何性能优化(包括缓存)之前,您应该对您的代码进行简介以找出问题的实际位置。 – 2012-03-20 16:36:29

+1

@KeithPalmer +1。我建议xdebug探查器:http://www.xdebug.org/docs/profiler – 2012-03-20 16:38:17

+0

感谢迄今为止的答案。是的,我知道我应该看看代码。正如我所说,我没有建立它,所以我认为如果我甚至没有触及它,只是缓存地狱,它会更少的工作。 :D也许这不是最好的主意......只是给你一个想法:应用程序正在读取一个ics(日历)文件,并将其放入一个漂亮的小型基于Web的显示器中。它被称为phpicalendar。也许它只是不好...:D – Jelko 2012-03-20 16:59:48

0

看起来这应该做的伎俩(但情况因人而异,这取决于你的应用程序):

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

+0

好主意。但是我认为,除非我明显改进了应用程序,mod_cache无济于事。我想创建静态页面来提高速度。但阅读上面的评论可能不是一个好主意。 – Jelko 2012-03-20 17:06:40

+0

因此YMMV。你确实要求一个中间件解决方案:-) – 2012-03-20 18:37:20