2012-08-06 78 views
7

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

我附加图片以查看Chrome的网络瀑布。

谢谢大家。

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

[更新]我用的php-APC,但仍然有同样的问题。

+0

似乎你需要使用一些缓存或CDN来避免在第一视图中长时间等待。您的网页本身非常长,表示数据库问题,可能 – 2012-08-06 13:17:05

+0

您正在使用外部数据库吗?有可能dns解析器不起作用。 – frustratedtech 2012-08-06 17:32:43

+0

查看http://drupal.stackexchange.com/questions/36147/performance-problem-delay-on-first-request获取可能导致问题的一个明确列表 – Clive 2012-08-06 17:53:33

回答

6

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

看一看this drupal.stackoverflow页面。

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

2

关闭生产Update Manager模块。当Cron运行时,它会检查需要时间的更新。通过仅在开发网站(Dev,Staging等)上启用此模块节省时间。生产者不需要花时间在这方面。

0

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

Drupal默认使用很多.css和.js文件。浏览器只能在的所有.css和.js文件的头部部分被下载后开始绘制您请求的页面。

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

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

建议的解决方法: 转到管理/设置/性能使CSS和JS聚集。

2

我知道这是一个老问题,但这里是我的解决方案。 发生这种情况的网站不会产生大量流量,并且服务器上的站点应用程序池会在指定的时间段后自动关闭(我相信默认值为20分钟)。因此,经过这段时间后第一个访问该网站的人将不得不等待应用程序池重新启动,这可能需要一段时间在php网站上。 这也适用于玉米工作。核心玉米工作设置为运行每个“n”个小工具,但只有当有人点击该工地时才能运行。因此,在玉米设定的时间间隔后第一个人击中该地点将不得不等待玉米作业运行。因此,对于生产场地,您应该对核心玉米作业进行钻孔并手动运行或使用外部服务来运行玉米(通过玉米的外部网址)。 最好的解决方案是使用免费的外部服务,如Uptime Robot每隔5-10分钟点击一次您的网站,以保持连接的连贯性。

+0

关于应用程序池关闭会发生:使用** PHP-FPM **与_pm = ondemand_或使用** PHP-CGI **与_FcgidIdleTimeout_的值> 0。 – 2015-05-26 15:56:19