Joomla只是慢一点,还是我可以加速它?

时间:2013-02-27 22:33:24

标签: php performance joomla

我已经用Google搜索了这个问题,但我找不到一篇讨论Joomla速度的文章,而不是脚本和图片等外部资源的加载速度。我的Apache + PHP设置运行良好 - 启用了压缩,我正在使用本地虚拟机来运行它。问题在于服务器端的Joomla,我不知道如何追踪它的来源。

我本地Joomla设置始终的页面需要2到3秒才能加载。根据Chrome开发者工具中的网络标签,浏览器会等待HTML页面大约2秒钟,然后在大约0.3秒内加载所有外部资源。这是每个页面的情况,甚至是管理员页面。这导致非常令人沮丧的页面浏览,因为每次链接点击后都会进行相当长的等待。为了说明,这是加载速度图的屏幕截图。蓝线是HTML页面:

Illustration

对于每个请求,Joomla可能需要2秒钟的处理时间是什么? Joomla这么慢,或者我的设置有问题吗?如果是这样,我该如何调试呢?


我尝试了什么

  • 我创建了一个完全独立于Joomla设置的PHP页面,并用<?php phpinfo(); ?>填充它,只是为了确认所有PHP脚本都不受2s延迟的影响。他们不是。
  • 我编写并执行了一个小的PHP脚本,通过“127.0.0.1”和“localhost”连接到本地MySQL服务器,并打印出Joomla数据库中的所有表。该脚本只需几分之一秒即可运行,因此连接到数据库时,故障不会出现DNS问题。

用于加载首页的Joomla个人资料信息:

Application 0.000 seconds (+0.000); 0.81 MB (+0.807) - afterLoad
Application 0.217 seconds (+0.217); 2.29 MB (+1.479) - afterInitialise
Application 0.296 seconds (+0.079); 4.34 MB (+2.055) - afterRoute
Application 0.640 seconds (+0.345); 5.59 MB (+1.247) - afterDispatch
Application 0.705 seconds (+0.065); 5.85 MB (+0.266) - beforeRenderModule mod_menu (Main Menu)
Application 0.774 seconds (+0.069); 5.91 MB (+0.053) - afterRenderModule mod_menu (Main Menu)
Application 0.774 seconds (+0.000); 5.90 MB (-0.009) - beforeRenderModule mod_menu (All Front End Views)
Application 1.004 seconds (+0.229); 6.05 MB (+0.147) - afterRenderModule mod_menu (All Front End Views)
Application 1.004 seconds (+0.000); 6.03 MB (-0.016) - beforeRenderModule mod_menu (User Menu)
Application 1.035 seconds (+0.032); 6.05 MB (+0.021) - afterRenderModule mod_menu (User Menu)
Application 1.036 seconds (+0.000); 6.04 MB (-0.010) - beforeRenderModule mod_menu (A Deep Menu)
Application 1.058 seconds (+0.023); 6.06 MB (+0.017) - afterRenderModule mod_menu (A Deep Menu)
Application 1.059 seconds (+0.000); 6.05 MB (-0.010) - beforeRenderModule mod_menu (This Site)
Application 1.092 seconds (+0.034); 6.06 MB (+0.014) - afterRenderModule mod_menu (This Site)
Application 1.092 seconds (+0.000); 6.05 MB (-0.013) - beforeRenderModule mod_login (Login Form)
Application 1.116 seconds (+0.024); 6.07 MB (+0.023) - afterRenderModule mod_login (Login Form)
Application 1.116 seconds (+0.000); 6.07 MB (-0.002) - beforeRenderModule mod_breadcrumbs (Breadcrumbs)
Application 1.143 seconds (+0.027); 6.09 MB (+0.021) - afterRenderModule mod_breadcrumbs (Breadcrumbs)
Application 1.143 seconds (+0.000); 6.09 MB (-0.003) - beforeRenderModule mod_menu (Top)
Application 1.179 seconds (+0.035); 6.12 MB (+0.028) - afterRenderModule mod_menu (Top)
Application 1.179 seconds (+0.000); 6.10 MB (-0.012) - beforeRenderModule mod_search (Search)
Application 1.207 seconds (+0.028); 6.13 MB (+0.028) - afterRenderModule mod_search (Search)
Application 1.236 seconds (+0.029); 6.15 MB (+0.014) - afterRender

请注意,“afterInitialise”,“afterDispatch”和“afterRenderModule mod_menu(所有前端视图)”步骤各占用差不多三分之一秒。每个点的运行时间都比我接受整个脚本运行的时间长。有关如何减少这些的线索?

我希望这个问题足够具体,不会立即关闭。如果有什么我可以做的更具体,请发表评论。

5 个答案:

答案 0 :(得分:5)

joomla只是很慢(我希望得到这个标记)但是确实如此。我已经使用APC,eAccelerator和其他几个使用各种版本的PHP和apache进行了测试,甚至尝试使用nginx,作为模块和FastCGI。

似乎joomla现在只是臃肿了。就个人而言,如果您将其用于简单的CMS目的,我建议初学者使用wordpress,或者为更高级的用户推荐drupal。

答案 1 :(得分:1)

我有更好的结果,可以在系统选项中启用不同级别的缓存。如果你不使用缓存,它会很慢。

答案 2 :(得分:0)

可能归结为您的Webhost ......亚马逊AWS在共享资源方面是一场噩梦。在小型甚至中型实例上,您的CPU资源是共享的,我通常会获得50%的资源“被盗”...%st ...这会使服务器负载过高,因此页面非常缓慢。你可以忘记微实例......你的服务器负载是恒定的90%+

我们计划在年底移动网络托管服务商。我们希望我们能解决这个问题。

答案 3 :(得分:0)

在localhost(windows)上运行joomla 2.5我经历了管理员任务最多8秒的时间。最后我不得不禁用一些PHP扩展来提高性能。 恩。 php_pdo_oci.dll,php_pdo_mysql.dll等 尝试只使用必要的。

答案 4 :(得分:0)

是的,与wordpress相比,Joomla在烹饪结果html时花费的时间更多。为什么?因为它为您提供了一个强大的框架,使您的网站远远超过博客。