【问题标题】:Pagespeed on app engine.. lots of issues. am i missing something?.. [php, appengine]应用引擎上的 Pagespeed .. 很多问题。我错过了什么吗?.. [php,appengine]
【发布时间】:2014-03-31 14:41:27
【问题描述】:

最近我们将我们的网站部署到谷歌应用引擎,一切都成功部署。 现在我们在设置中启用 pagespeed。

现在的问题。

它在 html head 部分中加载 css 并使用一些 wried 脚本标签而不是样式标签..

  1. 我尝试了所有的确认设置,但没有任何效果..
  2. 我想在 html 的早期加载谷歌字体 css(不工作,由于问题 1,现在禁用与 css 相关的过滤器)
  3. 我希望它将我所有的 js 合并到一个文件中并压缩它。 (不工作)

这里是yaml中的页面速度配置。

pagespeed:
  enabled_rewriters:
  - ConvertMetaTags
  - ElideAttributes
  - CollapseWhitespace
  - CombineJs
  - ProxyCss
  - InlineCss
  - MinifyCss
  - RemoveComments
  disabled_rewriters:
  - FlushSubresources
  - WebpOptimization
  - InlineImages
  - ImageStripColorProfile
  - ProxyImages
  - ProxyJs
  - ImageRecompressPng
  - ImageProgressiveJpeg
  - ImageConvertToJpeg
  - DeferJs
  - MoveCssToHead
  - InlineJs
  - InlinePreviewImages

这里是网站www.justtotaltech.co.uk

有时它会在刷新页面一两次后在 html 中加载 css..

是否可以在 app.yaml 或 pagespeed 服务和 mod_pagespeed 等其他地方配置更高级的 pagespeed 设置

或者有什么方法可以为 appengine 使用外部 pagespeed 服务,而不是使用它。 (我试过这个,但它不从源域(应用引擎)获取内容)

有人在下面的 cmets 中说要删除 pagespeed 部分,现在网站没有它。但根本没有任何作用。

【问题讨论】:

  • 也许这值得我们的问题跟踪器中的一个错误。如果您不将 pagespeed 部分添加到 app.yaml 文件中,而只是使用默认值启用该服务,会发生什么情况?
  • 好的,我会测试并告诉你。在接下来的几个小时内。
  • 现在很烦人,以前它在 html 中添加整个 css 现在它没有这样做,但 js 仍然在许多文件中......自从我发布这个问题以来我没有改变任何东西。
  • 现在我删除了 pagespeed 部分,现在它再次加载 html 中的所有 css 并且没有任何变化......

标签: google-app-engine pagespeed google-pagespeed


【解决方案1】:

关于问题3。我之前就相关问题联系了pagespeed团队并得到了以下回复。

无论何时启用 FlushSubresources,CombineJs 和 CombineCss 都会自动禁用。此选项当前默认启用。

所以先禁用 FlushSubresources 然后 combinJs 重写器才能工作。

另一件值得说的是,您实际上可以预览 pagespeed 结果。 例如:

查看源代码:http://www.justtotaltech.co.uk/services/software-development/?ModPagespeedFilters=combine_javascript,combine_css

检测导致问题的过滤器会容易得多。

可行的页面速度配置

pagespeed:
  enabled_rewriters:
  - MinifyCss
  - CombineJs
  - CombineCss
  disabled_rewriters:
  - FlushSubresources

【讨论】:

  • 感谢您的努力。但它没有用?和过滤器在 urls 中有效,但在 yaml 中无效..
  • 您的 yaml 中的重写器已经太多了。你可以先试试我的可行的 yaml 配置。
  • 好的现在上传你的配置..没有任何效果..我想我应该等待它稳定..在我也使用一些过滤器之前然后在这里写所有东西来禁用不需要的过滤器.
  • 你在上传配置后刷新了你的pagespeed缓存吗?
  • 哦,是的..现在也刷新了它..但它仍然使用脚本标签加载页面中的所有 css。
【解决方案2】:

很好的问题,因为我遇到了类似的问题。我想首先将您推荐给 google 开发者文档页面(我相信您已经看过):

正如他们在那里指出的那样,“App Engine 对 PageSpeed 的支持是 Google App Engine 的一项实验性、创新性和快速变化的新功能。不幸的是,处于最前沿意味着我们可能会对 App Engine 的支持做出向后不兼容的更改用于 PageSpeed。当此功能不再处于试验阶段时,我们会通知社区。”

因此,听到您经历了有些武断的性能变化,我并不感到惊讶。从开发人员文档中解释,我在测试方面看到了以下内容(因为这也是我试图为自定义应用程序做的事情)。要解决问题,您可能会尝试非常慎重并尝试不同的测试配置(我假设您已经这样做了)。也就是说,如果您还没有,并且您想尝试新配置,也许是为了测试一些“有风险的”优化,您可能希望您可以在测试应用程序版本中这样做,而您的用户继续使用默认应用程序版本。不幸的是,由于更新测试版本的配置适用于所有版本,因此“风险”设置也适用于您的用户使用的版本。相反,要尝试这些设置,您可以:

  • 为您的应用程序关闭 PageSpeed,更新 PageSpeed 配置,并使用 PageSpeed chrome 扩展程序查看您的网站

  • 将应用程序的相关部分复制到具有自己的应用程序 ID 和版本的单独测试应用程序中。

如果您确实找到了该问题的任何具体解决方案,请在此处发布!

【讨论】:

  • 我还可能建议将此问题连同文档一起添加到 AppEngine 问题列表中。它肯定会在该网站上获得一些关注和关注:code.google.com/p/googleappengine/issues/list
  • 表示暂时没有解决方案.. 谢谢.. 我看到了它的实验性,但它的实验性太强了。稍后检查并尽快发布问题..
  • 太糟糕了。希望至少我的解释能为初步测试提供一些一般性的指导。如果你确实发现了什么,一定要分享!
猜你喜欢
  • 2017-09-28
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
相关资源
最近更新 更多