Apache落后或其他不好的事情

时间:2010-07-21 15:00:20

标签: php apache zend-framework

我有一个网站。这是我第一个使用Zend Framework的网站,但我认为它写得很好。 Generatiom时间现在约为0.9秒。我会做0.2之类的东西,但现在就把它留下来。当您按下网站上的任何链接时,在网页浏览器加载页面之前大约需要1.5-2秒。然后需要0.15秒才能显示出来。那么如果执行时间是0.9,那么其他的1.1s呢? Ping约13ms。网站地址为http://zgarnijlicke.pl

修改:
奇怪。第二个域http://lottek.eu,运作良好。看看http://lottek.eu/picostreamer。它不像zgarnijlicke.pl域那样滞后。

编辑2:

Zend-Framework存在问题。我设置了动作而没有渲染视图(布局也被禁用),它的工作速度与服务器一样快。我会为它提出新的问题。

4 个答案:

答案 0 :(得分:0)

尝试在php中添加一些计时器代码,用于衡量生成页面内容所需的时间。这样您就可以确认或排除服务器问题。

您也可以使用ping和traceroute等网络工具来查看问题是否是由网络延迟引起的。

答案 1 :(得分:0)

使用wget进行快速测试,传输其中一个页面的总执行时间为1.5秒,实际下载时间为0.2秒,因此开销为1.3秒。暂停发生在传输开始之前,因此这是服务器端问题。

该网站是否在虚拟服务器上?如果底层物理服务器负载过重,您的图像可能会被换出或者CPU耗尽,并且需要大约1秒才能再次响应。

也许这是一个内部资源问题 - 您是否连接到数据库,尤其是远程数据库?即使某些或大多数页面不是由DB驱动的,连接到DB的开销也可能导致这种减速。然后再次交换/延迟,因为没有进一步的活动来保持图像活跃。

它甚至可能像Apache一样配置为“IdentityCheck”,但不太可能,因为这会降低所有请求的速度。从HTTPFox查看时,我没有看到来自服务器的.css / .js文件请求有任何减速。有趣的是,通过wget请求.css / .js会返回“500 Internal Server Error”。

答案 2 :(得分:0)

以下是您网站的网页test.org报告:http://www.webpagetest.org/result/100721_1P0Y/

如果您查看第一个视图的瀑布图,您将看到浏览器在1.2秒左右获得HTML源,并且首先能够在4秒后呈现您的页面。这两者之间发生的是下载三个javascript文件和两个CSS文件。所以,这是你想要开始的地方。一些建议:

  • 考虑使用免费的CDN为jquery.js提供服务,例如从服务器提供服务,例如:谷歌:http://code.google.com/apis/ajaxlibs/。通过这种方式,用户更有可能已将其缓存,Google将从地理位置更靠近用户的位置提供服务,并且(我认为)采用压缩格式。

  • 对于jquery.corner.js和jquery.media.js,考虑将它们合并到一个文件中并对它们进行压缩(Apache模块mod_deflate使这很容易)

  • 您的CSS文件也是如此 - 考虑将它们合并到一个文件中并为其提供压缩。

那些会给你一些快速的胜利。但是,您可以改进其他一些事项:

  • 为图片代码添加width和height属性。如果没有这些,一些浏览器会在下载图像时停止渲染,以便他们知道它们将占用多少空间。您的图片代码都没有这些属性。

  • 确保您为作业使用正确的图像格式。你的banner.png图片超过300k,太大了。我将其转换为JPEG图像(80%质量),它是30k。

至于执行时间,0.9秒似乎很高。您使用的是APC还是类似的?页面是否正在运行任何繁重的数据库?

答案 3 :(得分:0)

我找到了。这是ZF的问题,因为当我使用以下代码执行hello.php页面时:

hello world

没有任何< ?php?>脚本需要0.4秒才能完成。