【问题标题】:Drupal 7 is too slow on "first load"Drupal 7 在“第一次加载”时太慢了
【发布时间】:2012-08-03 10:50:28
【问题描述】:

我希望有人可以帮助我解决这个 Drupal 7 问题。我注意到当我“第一次”输入网站地址时加载时间很慢。开始加载文件和显示内容大约需要 20(平均)秒。就像它有一些延迟。但是,在那段时间之后,它非常快,一切都很好。页面加载后,我们可以快速刷新它们,不会有任何延迟。

我附上一张图片以查看 Chrome 的网络瀑布。

谢谢大家。

图片:http://i.stack.imgur.com/vuejk.png(看第二行)

[更新] 我正在使用 php-apc 但仍然有同样的问题。

【问题讨论】:

  • 似乎您需要使用一些缓存或 CDN 以避免在第一次查看时长时间等待。您的网页本身耗时很长,表明数据库问题,可能
  • 您使用的是外部数据库吗? dns 解析器可能无法正常工作。
  • 请参阅drupal.stackexchange.com/questions/36147/… 了解可能导致问题的确切列表

标签: performance apache drupal apache2


【解决方案1】:

这(很可能)是因为 Drupal Cron 任务每隔几个小时/天运行一次(取决于设置)。然后 Drupal 执行所有排队的 cron 作业。这可能需要很长时间。

看看this drupal.stackoverflow页面。

e:另外,这个调整可能会有所帮助,但我自己还没有尝试过:http://drupal.org/node/1576686

【讨论】:

    【解决方案2】:

    在生产环境中关闭 Update Manager 模块。当 Cron 运行时,它会检查需要时间的更新。通过仅在开发站点(Dev、Staging 等)上启用此模块来节省时间。生产部门无需为此花时间。

    【讨论】:

      【解决方案3】:

      我知道这是一个老问题,但这是我的解决方案。 这发生在没有产生太多流量的站点上,并且服务器上的站点应用程序池会在指定的时间段后自动关闭(我相信默认值为 20 分钟)。因此,在这段时间之后第一个访问网站的人将不得不等待应用程序池重新启动,这在 php 网站上可能需要一些时间。 这也适用于玉米工作。核心玉米作业设置为每“n”分钟运行一次,但它只能在有人点击该站点时运行。因此,在设定的玉米时间间隔后第一个访问该站点的人将不得不等待玉米作业运行。因此,对于生产站点,您应该禁用核心玉米作业并手动运行它们或使用外部服务来运行玉米(传递玉米的外部 url)。 最好的解决方案是使用免费的外部服务,如 Uptime Robot 每 5-10 分钟访问您的网站,从而保持连接有效。

      【讨论】:

      • 关于关闭应用程序池会发生这种情况:使用 PHP-FPMpm = ondemand 或使用 PHP-CGI FcgidIdleTimeout 的值 > 0.
      【解决方案4】:

      看看你网站的head部分有什么。如果那里有很多 @import 语句,那么问题很可能出在前端而不是后端。

      Drupal 默认使用大量 .css 和 .js 文件。只有在 head 部分的所有 .css 和 .js 文件都下载完毕后,浏览器才能开始绘制您请求的页面。

      @import 的问题在于您的浏览器一次只能下载一个 css 文件。与标签不同的情况。在这种情况下,可以并行下载 css 文件,这意味着更快。

      您第二次访问网站时从浏览器缓存中加载 css 和 js 文件,这就解释了为什么页面加载速度更快。

      建议的解决方法: 转到 admin/settings/performance 启用 css 和 js 聚合。

      【讨论】:

        猜你喜欢
        • 2021-06-04
        • 2018-07-10
        • 2023-03-27
        • 1970-01-01
        • 2022-12-23
        • 2019-01-19
        • 2019-12-04
        • 1970-01-01
        • 2021-07-03
        相关资源
        最近更新 更多