由于布局/db_update,Magento EE 1.x需要太多时间来加载



我们的Magento商店变得太慢,加载页面大约需要1分钟。我在分析器中看到下面的输出,您能否让我们知道什么是db_update的事情,为什么需要太多时间以及我们如何解决这个问题。

layout/db_update: default                               20.6206 1   0   0
layout/db_update: STORE_default                         20.6189 1   0   0
layout/db_update: MAP_popup                             20.6146 1   0   0
layout/db_update: MAP_price_msrp_item                   20.6131 1   0   0
layout/db_update: SHORTCUT_popup                        20.6116 1   0   0
layout/db_update: SHORTCUT_uk_popup                     20.6098 1   0   0
layout/db_update: catalog_product_view                  20.6077 1   0   0
layout/db_update: PRODUCT_TYPE_simple                   20.6062 1   0   0
layout/db_update: customer_logged_out                   20.6032 1   0   0

可以使用Aoe_Profiler扩展来调试详细信息。您可以从此处安装它: https://github.com/AOEpeople/Aoe_Profiler

另请遵循本教程: http://fbrnc.net/blog/2012/08/magento-profiler#hello

我认为它将帮助您优化各种线程所花费的时间。

代码中运行此配置文件的唯一位置是函数Mage_Core_Model_Layout_Update::fetchDbLayoutUpdates

可能有多种原因导致该函数每次运行时需要 20 秒,按可能性排序:

  1. 自定义代码或第三方扩展,在布局更新期间执行昂贵的操作。例如,覆盖Mage::getResourceModel('core/layout')->fetchUpdatesByHandle()或该函数中使用的任何模型/帮助程序(很多)。
  2. 基础结构问题(可能与数据库有关)
    • 非常慢/过载的数据库
    • 数据库连接中的速度问题

就像另一个答案中提到的,您可以使用Aoe_Profiler来获取第一种情况的更多数据。

我个人更喜欢使用 NewRelic(或类似服务),因为它还会显示具体代码、数据库查询或第 3 方 API 的哪些部分运行缓慢的痕迹 - 让您更全面地了解可能减慢您网站速度的所有内容。

(免责声明:我是NewRelic的合作伙伴)

最新更新