7

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

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

插图

Joomla 的每个请求都需要 2 秒的处理时间是怎么回事?Joomla 就是这么慢,还是我的设置有问题?如果是这样,我该如何调试它?


我试过的

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

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

应用 0.000 秒 (+0.000);0.81 MB (+0.807) - 加载后
应用 0.217 秒 (+0.217);2.29 MB (+1.479) - 初始化后
应用 0.296 秒 (+0.079);4.34 MB (+2.055) - afterRoute
应用 0.640 秒 (+0.345);5.59 MB (+1.247) - 发货后
应用 0.705 秒 (+0.065);5.85 MB (+0.266) - beforeRenderModule mod_menu(主菜单)
应用 0.774 秒 (+0.069);5.91 MB (+0.053) - afterRenderModule mod_menu(主菜单)
应用 0.774 秒 (+0.000);5.90 MB (-0.009) - beforeRenderModule mod_menu(所有前端视图)
应用 1.004 秒 (+0.229);6.05 MB (+0.147) - afterRenderModule mod_menu(所有前端视图)
应用 1.004 秒 (+0.000);6.03 MB (-0.016) - beforeRenderModule mod_menu(用户菜单)
应用 1.035 秒 (+0.032);6.05 MB (+0.021) - afterRenderModule mod_menu(用户菜单)
应用 1.036 秒 (+0.000);6.04 MB (-0.010) - beforeRenderModule mod_menu(深度菜单)
应用 1.058 秒 (+0.023);6.06 MB (+0.017) - afterRenderModule mod_menu(深度菜单)
应用 1.059 秒 (+0.000);6.05 MB (-0.010) - beforeRenderModule mod_menu(本网站)
应用 1.092 秒 (+0.034);6.06 MB (+0.014) - afterRenderModule mod_menu(本网站)
应用 1.092 秒 (+0.000);6.05 MB (-0.013) - beforeRenderModule mod_login(登录表单)
应用 1.116 秒 (+0.024);6.07 MB (+0.023) - afterRenderModule mod_login(登录表单)
应用 1.116 秒 (+0.000);6.07 MB (-0.002) - beforeRenderModule mod_breadcrumbs (Breadcrumbs)
应用 1.143 秒 (+0.027);6.09 MB (+0.021) - afterRenderModule mod_breadcrumbs (Breadcrumbs)
应用 1.143 秒 (+0.000);6.09 MB (-0.003) - beforeRenderModule mod_menu(顶部)
应用 1.179 秒 (+0.035);6.12 MB (+0.028) - afterRenderModule mod_menu(顶部)
应用 1.179 秒 (+0.000);6.10 MB (-0.012) - beforeRenderModule mod_search (搜索)
应用 1.207 秒 (+0.028);6.13 MB (+0.028) - afterRenderModule mod_search (搜索)
应用 1.236 秒 (+0.029);6.15 MB (+0.014) - 渲染后

请注意,“afterInitialise”、“afterDispatch”和“afterRenderModule mod_menu (All Front End Views)”步骤每个都需要将近三分之一秒。这些点中的每一个运行的时间都比我接受整个脚本运行的时间要长。关于如何减少这些的任何线索?

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

4

5 回答 5

5

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

看来joomla现在只是臃肿。就个人而言,如果您将它用于简单的 CMS 目的,我会为初学者推荐 wordpress,或者为更高级的用户推荐 drupal。

于 2013-02-27T23:06:42.890 回答
1

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

于 2013-02-27T23:11:18.360 回答
0

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

我们计划在今年年底搬迁网络主机。希望我们能解决这个问题。

于 2013-10-13T03:17:45.907 回答
0

在本地主机(Windows)上运行 joomla 2.5,我在管理员任务上经历了长达 8 秒的时间。最后我不得不禁用一些 php 扩展来提高性能。前任。php_pdo_oci.dll , php_pdo_mysql.dll 等 尝试只使用必要的。

于 2013-11-07T08:10:27.293 回答
0

是的,与 wordpress 相比,Joomla 需要更多时间来处理生成的 html。为什么?因为它为您提供了一个强大的框架,让您的网站不仅仅是一个博客。

于 2014-10-10T23:08:41.733 回答